Я хочу создать скрипт AutoHotKey, который ждет окно и отправляет ему некоторые нажатия клавиш, но нажатия клавиш повторяются по умолчанию

Я хочу создать скрипт AutoHotKey, который ждет окно и отправляет ему некоторые нажатия клавиш, но нажатия клавиш повторяются по умолчанию

Мне нужен скрипт 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
}

Связанный контент