
특정 창을 기다린 다음 해당 창에 키 입력을 보내는 AutoHotKey 스크립트가 필요합니다. 그러나 대기가 루프로 이루어지기 때문에 키가 계속해서 전송됩니다.
Windows 계산기를 기다렸다가 "12345"를 보내고 싶다고 가정해 보겠습니다. 내 첫 번째 시도는 다음과 같습니다.
#SingleInstance force
Loop
{
WinWaitActive, Calc
{
Send, 12345
}
루프에서 벗어나지 않기 때문에 이 스크립트는 분명히 "12345"를 계속해서 다시 보냅니다.
send 문 다음에 "break"를 삽입하면 루프가 종료되지만 전체 스크립트도 종료됩니다.
이를 처리하기 위한 표준 패턴은 무엇입니까?
답변1
나는 당신 12345
이 창(또는 같은 이름을 가진 다른 창)을 다시 활성화할 때까지 전송을 중단하고 싶다고 가정합니다. 그래서 사용WinWaitNotActive
#SingleInstance force
Loop
{
WinWaitActive, Calc
{
Send, 12345
WinWaitNotActive, Calc
}