WinWaitActive / WinWaitNotActive

지정된 창이 활성화되거나 비활성화될 때까지 기다립니다.

WinWaitActive , WinTitle, WinText, Timeout, ExcludeTitle, ExcludeText
WinWaitNotActive , WinTitle, WinText, Timeout, ExcludeTitle, ExcludeText

매개변수

WinTitle

목표 창을 식별하는 창 제목 또는 다른 기준. WinTitle 참조.

WinText

존재하면, 이 매개변수는 목표 창 텍스트의 부문자열입니다 (동봉된 Window Spy 유틸리티에 노출됨). 숨은 텍스트는 DetectHiddenText가 켜져 있어야 탐지됩니다.

Timeout

시간제한 까지 기다릴 초의 개수 그리고 ErrorLevel을 1로 설정. Leave blank to allow the command to wait indefinitely. 0을 지정하면 0.5를 지정한 것과 같습니다. 이 매개변수는 표현식일 수 있습니다.

ExcludeTitle

제목에 이 값이 있는 창은 무시합니다.

ExcludeText

텍스트에 이 값이 있는 창은 무시합니다.

ErrorLevel

명령어가 시한제한에 걸리면 ErrorLevel에 1이 설정되고 그렇지 않으면 0이 설정됩니다.

논평

부합하는 창이 명령어의 기대를 만족하면, 그 명령어는 이제 촉발을 위해 Timeout 초를 기다리지 않습니다. 대신에, 즉시 ErrorLevel에 0을 설정하고 스크립트는 실행을 계속합니다.

명령어가 시작할 때 기대를 만족하는 창이 활성화되면 WinWaitActive와 WinWaitNotActive 모두 마지막으로 발견된 창을 갱신합니다.

이 명령어가 대기 상태에 있는 동안에, 핫키, 맞춤 메뉴 항목, 또는 타이머를 통하여 새 쓰레드가 기동할 수 있습니다.

이 명령어의 매개변수로 사용된 변수의 내용을 또다른 쓰레드가 변경하더라도, 이 명령어는 그 변경을 보지 못합니다 -- 명령어가 처음 대기를 시작할 때의 변수에 존재하는 원래 텍스트와 제목을 계속 사용합니다.

창 제목과 텍스트는 대소문자를 구분합니다. 숨은 창은 DetectHiddenWindows가 켜져 있어야 탐지됩니다.

WinWait, WinWaitClose, WinExist(), WinActive(), SetTitleMatchMode, DetectHiddenWindows

예제

Opens Notepad and waits a maximum of 2 seconds until it is active. If WinWait times out, an error message is shown, otherwise Notepad is minimized.

Run, notepad.exe
WinWaitActive, Untitled - Notepad,, 2
if ErrorLevel
{
    MsgBox, WinWait timed out.
    return
}
else
    WinMinimize ; Use the window found by WinWaitActive.