창을 기다리고 일부 키 입력을 보내는 AutoHotKey 스크립트를 만들고 싶지만 기본적으로 키 입력이 반복됩니다.

창을 기다리고 일부 키 입력을 보내는 AutoHotKey 스크립트를 만들고 싶지만 기본적으로 키 입력이 반복됩니다.

특정 창을 기다린 다음 해당 창에 키 입력을 보내는 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
}

관련 정보