Последняя правка, вроде всё верно теперь.
Переменная 'I ' при 0 - случайный ввод пароля, иначе с какого номера начать.
#SingleInstance Force
#NoEnv
SetBatchLines -1
; Настройки:
Key = F2 ; Клавиша - Старт / Пауза.
I := 0 ; С какой цифры начать (1 = 0001). Если 0 - случайный ввод пароля.
Wait := 200 ; Время задержки после нажатия 'E'.
Wait2 := 1000 ; Время задержки после ввода пароля.
; Конец настроек.
Hotkey, % Key, Start, On, UseErrorLevel
If (I = 0) ; Если нужно случайно:
{
Loop, 9999
Str .= Format("{:04}", A_Index) "|" ; Создать строку верного содержания (0001-9999).
Sort, Str, Random D| ; Отсортировать случайно.
List := Array() ; Создать массив.
Loop, Parse, Str, |
List[A_Index] := A_LoopField ; Добавить в него строки.
}
Return
Stop: ; Выключить подбор пароля:
Start := (Start > 1 ? 0 : 2)
KeyWait, %A_ThisHotkey%, U
Hotkey, % Key, Start, On, UseErrorLevel
Return
Start: ; [Включить / Продолжить] подбор пароля:
Start := 1
Hotkey, % Key, Off
Hotkey, % Key " Up", Stop, On, UseErrorLevel
KeyWait, %A_ThisHotkey%, U
While % Start && (Abs(I) < 10000)
{
If (I < 1) ; Если нужно случайно:
{
SendInput, E
Sleep, % Wait
S := List[Abs(I-1)]
SendInput, % S
ToolTip, Пароль: %S%,0,0
Sleep, % Wait2
I--
}
Else ; Обычный подбор:
{
SendInput, E
Sleep, % Wait
S := Format("{:04}", I)
SendInput, % S
ToolTip, Пароль: %S%,0,0
Sleep, % Wait2
I++
}
}
ToolTip, % "Завершено: " Abs(I),0,0
Return
~Esc:: ToolTip ; Убрать подсказку.
Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17|
AHK-Wiki |
Переменные и выражения |
RegEx101