ynbIpb
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата: Вот. Конечно не от начала до конца установки дополнения, а кусок работы именно с процедурой активации. Условия: Окно активации должно уже отображаться (запустить не активированную игру), кейген должен лежать рядом со скриптом. Код: AutoItSetOption ( "MouseCoordMode", 2) ; опция - относительные координаты клиентской области активного окна $sWin1 = "[TITLE:Theatre of War 2: Battle for Caen KeyGen; CLASS:#32770]" ; часть заголовка и класс окна кейгена $sWin2 = "[TITLE:Искусство войны. Битва за Кан - Активация; CLASS:#32770]" $sNumber = "BX-EETGJ5-USE4SE-NCUJDE-WKE9LC" ; номер, необходимый для активации If WinExists($sWin2) = 0 Then MsgBox (0, "Ошибка", "Окно Активации не найдено!") Exit EndIf WinMove ($sWin2, "", 1, 1); перемещаем в угол ControlSetText ($sWin2, "", "Edit1", $sNumber); вставляем HardwareID WinActivate ($sWin2) MouseClick ("left", 33, 135) $hWin2 = WinWait ($sWin2, "Выберите предпочтительный способ активации", 5) WinMove ($sWin2, "", 1, 1); перемещаем в угол sleep (100) $sHardID = ControlGetText ($hWin2, "", "Edit2") ; читаем поле с Hardware ID $iPid = ProcessExists ("Caen_KeyGen.exe") ; проверяем запущен ли кейген If $iPid = 0 Then ; если нет, то запускаем $iPid = Run (@scriptdir & "\Caen_KeyGen.exe"); запускаем кейген EndIf $hKeygenWin = WinWait ($sWin1, "", 10) sleep (1000); задержка, до полного появления окна кейгена ;WinSetState ($hKeygenWin, "", @SW_HIDE); скрываем окно WinMove ($hKeygenWin, "", 553, 1); перемещаем ControlSetText ($hKeygenWin, "", "Edit2", $sHardID); вставляем HardwareID sleep (100) ControlClick ($hKeygenWin, "", "Button5"); нажимаем Get key sleep (100) $sKey = ControlGetText ($hKeygenWin, "", "Edit3") ; читаем поле с ключегом ProcessClose ($iPid) ; убиваем процесс кейгена ControlSetText ($hWin2, "", "Edit3", $sKey); вставляем ключег sleep (100) ControlClick ($hWin2, "", "Button1"); MsgBox (0, "", "Готово!") |
|