1

Тема: AHK: Перебор шестизначных цифр.

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

2

Re: AHK: Перебор шестизначных цифр.

VladLens
Заказывать готовые программы нужно в коммерческом разделе.
Если есть свои наработки - покажите где не вышло.

Win10x64, AHK v1.1.33.09 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

3 (изменено: VladLens, 2022-01-16 14:50:32)

Re: AHK: Перебор шестизначных цифр.

Нашёл Ваш код с перебором четырехзначного кода. Если Вам не тяжело, не могли бы Вы его переделать в шестизначный. В AutoHotKey я не разбираюсь, поэтому сам не знаю как. Чтобы Е печаталась тоже желательно убрать.

#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	; Убрать подсказку.