Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 15, 2012 11:22:10

Trali
Зарегистрирован: 2012-10-15
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

Всем привет! Недавно начал изучать питон и вот столкнулся с задачкой, решить которую мне не по силам.
Мне нужен скрипт, который проверит, была ли установлена программа или нет.
Если нет, то должна скопировать ключ реестра этой программы в отдельный файл в системную папку windows и отправить в txt файл (информацию из ключа) на другой пк.
Следующий скрипт должен запустить другую программу EXE, но перед запуском должен проверить был ли изменен тот ключ реестра, которая копировала первая из файла в системной папке.
Если он изменен, то должен вернуть старый. Только после этого запустить переложение.
Кто в этом разбирается, помогите пожалуйста. Я не понимаю, как скопировать ключик и отправить его в txt файл на другой пк + к этому txt на 2-й машине нужно дописать в таком виде: 449c8fc337c515062fd8bb4e67247ab1
Заранее спасибо.

Отредактировано Trali (Окт. 15, 2012 11:32:39)

Офлайн

#2 Окт. 16, 2012 01:08:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10019
Репутация: +  857  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

Trali
Мне нужен скрипт, который проверит, была ли установлена программа или нет.
пиши исполнителя, который проверяет, была ли установлена программа

Trali
Если нет, то должна скопировать ключ реестра этой программы в отдельный файл в системную папку windows и отправить в txt файл (информацию из ключа) на другой пк.
проясни
какой ключ реестра ? откуда он берётся, если программы нет ?
отправить что на другой пк ? а на другом пк что будет принимать отправляемое ?

Trali
Следующий скрипт должен запустить другую программу EXE, но перед запуском должен проверить был ли изменен тот ключ реестра, которая копировала первая из файла в системной папке.
какой следующий скрипт
пиши исполнителя, который запускает вторую программу

можно ещё написать исполнителя, который обрабатывает ключ реестра
он будет использоваться и первым исполнителем (для первой программы), и вторым исполнителем (для второй программы)

Trali
на 2-й машине нужно дописать в таком виде
на второй машине, видимо, другой скрипт должен быть



Офлайн

#3 Окт. 16, 2012 02:06:26

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

сам не особо понял что ты хотел но возможно смогу помочь …

1) если тебя интересовало чтение реестра то я делаю это так :

#код - python 2.6 хз чем код на 3-м отличаться будет если у тебя он
import _winreg
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE , 
                      'SOFTWARE\Microsoft\Windows\CurrentVersion\Run' ,
                      0 , 
                      _winreg.KEY_ALL_ACCESS)
needed_value =  _winreg.QueryValueEx(key , 'YotaAccess_U200') # YotaAccess_U200 это ключ в реестре 
print needed_value

потом я ничего ваще не понимаю зачем тебе что-то там писать в тхт , прям сразу открывай сокет и шли всю инфу , простенький клиент-сервер тут тебе в помощь


ps: если я правильно догадался то ты кодишь софтинку знакомую с р2р и через это дело хочешь что-бы клиенты контроллировали содержимое реестра друг друга , но если я угадал то это самая глупейшая реализация , какая-бы цель за этим не стояла

pps: для того что-бы легче кодить на питоне рекомендую aptana studio , это самая удобная в мире иде для питончика , благодаря ней я с многими либами разобрался ни разу не заглянув в гугл (выводит стандартные доки к каждому методу во всплывающем окне) а остальные плюшки как у geany



Отредактировано @cckyi_boxxx (Окт. 16, 2012 02:07:58)

Офлайн

#4 Окт. 16, 2012 05:31:50

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

@cckyi_boxxx
#код - python 2.6 хз чем код на 3-м отличаться будет если у тебя он
В тройке апи работает с юникодом.

Офлайн

#5 Окт. 16, 2012 06:54:46

Trali
Зарегистрирован: 2012-10-15
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

Спасибо за ответы.
Походу я написал не совсем понятно…
Мне нужно скопировать значение ключа

[HKEY_LOCAL_MACHINE\SOFTWARE\Bohemia Interactive Studio\ArmA 2 OA\KEY]
и перенести его в файл.py с сохранением в системную папку \Windows\System32\key.py. Далее нужно передать значение ключа в любом запросе на другой пк (что бы тот его захешировал) и добавил в файл txt (но это уже дело 10-е) @cckyi_boxxx Спасибо за ответ (у меня версия 2.7) раскрыть ключ получилось, а как его в отдельный файл запихнуть?…
Другой скрипт должен проверить был ли изменен ключ
 [HKEY_LOCAL_MACHINE\SOFTWARE\Bohemia Interactive Studio\ArmA 2 OA\KEY]
если да то заменить на старый из файла \Windows\System32\key.py.
Надеюсь теперь написал более подробно.
Заранее спасибо.
Если у кого будет время, постучите мне в скайп: trali-vali-pasatigi
п.с. По сути мне нужна программа (launcher) человек запускает установку программа проверяет была ли она установлена на этом пк. если да то нечего не делает если нет до копирует ключ и т.д. как писалось выше.
При запуске уже самого (launcher) будет кнопка начать игру которая запустит файл “\Program Files\Bohemia Interactive\ArmA 2\Expansion\beta\arma2oa.exe” с атрибутами -beta=Expansion\beta;Expansion\beta\Expansion -nosplash -mod=@dayz -cpuCount=4 -maxmem=2047 -world=empty -exthreads=7 но перед запуском должна проверить был ли изменен ключ
[HKEY_LOCAL_MACHINE\SOFTWARE\Bohemia Interactive Studio\ArmA 2 OA\KEY]
и т.д. вот суть программы.
Там конечно будет авторизация и регистрация, но это сделать я смогу, а вот winreg я совсем понять не могу (прочел справочник и только нашел, как принудительно заменить ключ)…
Возможно, я выбрал не лучший путь для этой не сложной операции, но я не вижу другого.

Отредактировано Trali (Окт. 16, 2012 07:27:10)

Офлайн

#6 Окт. 16, 2012 11:02:12

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

в том что ты задумал ничего сложного нет , видимо ты еще слабо знаешь питончик , я на твоем месте сейчас отложил-бы кодинг игрухи и выкурил-бы пару хороших манов по питону а так

писать филе можно при помощи open('filename' , ‘flag’) или file(('filename' , ‘flag’)

Далее нужно передать значение ключа в любом запросе на другой пк
я так понимаю другой пк - твой серв на котором ты собираешься чекать верность чего-то там ?

для запуска процессов тебе понадобиться модуль subprocess

вобщем юзай aptana studio +глянь код из моих набросок http://forum.k0d.cc/showthread.php?t=14180



ps: если делаешь гуй на pygtk то мб у тебя найдеться ответ на мой вопрос http://python.su/forum/topic/15841/ ??



Офлайн

#7 Окт. 16, 2012 17:09:26

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

GTK под виндой? Тема плачет кровавыми слезами.

Офлайн

#8 Окт. 16, 2012 18:20:33

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

odnochlen
GTK под виндой? Тема плачет кровавыми слезами.
уже понял )) но нужна кроссплатформа , а остальное пришлось отмести по следуюшим причинам :
PySide , PyQT – на линухе иногда возникают траблы с его установкой
WxPython – невозможность назначения своих background и foreground (почему-то только под линухом)
Tkinter – слишком примитивен

вот и ковыряю PyGTK



Офлайн

#9 Окт. 16, 2012 18:54:24

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

На лялихе проблемы с QT? Интересно.

В любом случае, QT имхо самое приятное и функциональное из всех гуев, и графический дизайнер имеется (кнопочки мышкой таскать).

Trali
и перенести его в файл.py с сохранением в системную папку \Windows\System32\key.py.
Расстрел на месте.

Отредактировано odnochlen (Окт. 16, 2012 18:55:38)

Офлайн

#10 Окт. 16, 2012 21:37:46

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Если не трудно помогите с winreg

На лялихе проблемы с QT? Интересно.

большинство будущих юзеров будут сидеть на backtrack а туда оно без костылей не устанавливаеться



Отредактировано @cckyi_boxxx (Окт. 16, 2012 21:38:14)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version