Я не могу воспроизвести поведение, о котором вы говорите.
На самом деле нет ничего неуместного в добавлении одной команды Sleep, если она заставляет вещи работать хорошо.
Сон очень часто требуется при использовании команды «Отправить», чтобы все работало гладко в различных приложениях. Это потому, что команда Send иногда отправляет искусственные нажатия клавиш быстрее, чем приложение предназначено для обработки. Мне нужно было написать сценарии, такие как:
Send, {x down}
Sleep, 50
Send, {x up}
для работы в нескольких приложениях, для имитации продолжительности печати.
Конечно, есть SetKeyDelay
, но тогда у вас не будет такого штрафа.
Другая опция использует GuiControl
для выбора вещей.
Вот грубый пример:
Gui, Add, DropDownList, vColorChoice, Black|White|Red|Green|Blue
Gui, Add, ListBox, vChoice Choose1 AltSubmit h120, Red|Green|Blue|Black|White
Gui, Show, h156
loop 4
{
Gui, Submit, nohide
sleep, 1000
GuiControl, Choose, Choice, % Choice + 1
Send, {enter}{tab}
} Return
Это демонстрация, а не практический сценарий.
Чтобы выбрать что-то конкретное, это будет выглядеть так:
GuiControl, Choose, Choice, 3