
Мне нужен скрипт AutoHotKey, который ждет определенного окна, а затем отправляет нажатия клавиш в это окно. Однако, поскольку ожидание происходит в цикле, клавиши отправляются снова и снова.
Допустим, я хочу дождаться Windows Calculator, а затем отправить ему "12345". Моя первая попытка была такой:
#SingleInstance force
Loop
{
WinWaitActive, Calc
{
Send, 12345
}
Этот скрипт, очевидно, отправляет «12345» снова и снова, поскольку я не выхожу из цикла.
Если я вставлю «break» после оператора send, цикл завершится, но также завершится и весь скрипт.
Какова стандартная схема решения этой проблемы?
решение1
Я предполагаю, что вы хотите остановить отправку, 12345
пока вы снова не активируете окно (или другое окно с тем же именем). Поэтому используйтеWinWaitNotActive
#SingleInstance force
Loop
{
WinWaitActive, Calc
{
Send, 12345
WinWaitNotActive, Calc
}