StatusBarWait

창의 상태 바에 지정된 문자열이 담길 때까지 기다립니다.

StatusBarWait [, BarText, Seconds, Part#, WinTitle, WinText, Interval, ExcludeTitle, ExcludeText]
선택

매개변수

BarText

명령어가 기다리는 텍스트 또는 부분적 텍스트. 기본값은 비어 있습니다. 즉, 상태 바가 비기를 기다린다는 뜻입니다. 텍스트는 대소문자를 구별하고 부합 행위는 SetTitleMatchMode의해 결정됩니다. 아래의 WinTitle과 비슷합니다.

대신에 상태 바의 텍스트가 변하기를 기다린다면, StatusBarGetText를 회돌이 안에 사용하거나, 이 페이지 하단에 있는 RegEx 예제를 따르십시오.

Seconds

시간 제한을 선언하기 전에 기다릴 초의 개수 (소수 점을 포함할 수 있고 표현식일 수 있습니다). 시간 제한에 걸릴 경우 ErrorLevel은 1이 설정됩니다. 기본 값은 비어 있습니다. 즉, 무한정 기다린다는 뜻입니다. 0을 지정하면 0.5를 지정한 것과 같습니다.

Part#

상태 바에서 열람할 부분의 번호. 표현식 가능. 기본값은 1이며 보통 관심의 텍스트가 포함된 부분입니다.

WinTitle

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

WinText

존재하면, 이 매개변수는 반드시 목표 창 텍스트의 부문자열입니다 (Window Spy에 노출됨). 숨은 텍스트는 DetectHiddenText이 겨져(ON) 있어야 탐지됩니다.

Interval

이 명령어가 실행 중인 동안에 얼마나 자주 상태 바를 점검할 것인가 (밀리초 단위), 이 값은 표현식일 수 있습니다. 기본 값은 50입니다.

ExcludeTitle

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

ExcludeText

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

ErrorLevel

[v1.1.04+] 이 명령어는 상태바에 접근하지 못 했으면 예외를 던질 수 있습니다. 더 자세한 정보는 실행시간 에러를 참조하십시오.

ErrorLevel은 상태 바에서 부합을 발견하기 전에 시간 제한에 걸리면 1이 설정됩니다. 상태 바에 접근하지 못 했으면 2가 설정됩니다. 부합을 발견하면 0이 설정됩니다.

논평

StatusBarWait은 창의 첫 번째 표준 상태 바를 읽으려고 시도합니다 (class msctls_statusbar32). 어떤 프로그램은 자신 만의 상태바가 있고 특별한 버전의 MS 공통 콘트롤을 가집니다. 그런 경우 상태바를 열람할 수 없습니다.

회돌이 안에 StatusBarGetText를 사용하는 것보다, 보통 StatusBarWait를 사용하는 것이 더 효율적입니다. 왜냐하면 StatusBarGetText를 반복적으로 호출하면 일어날 부담을 피하도록 최적화되어 있기 때문입니다.

StatusBarWait는 그의 목표 창을 결정한 다음 부합하기를 기다립니다. 그 목표 창이 닫히면, StatusBarWait는 지정된 WinTitle과 WinText로 또다른 창이 부합하더라도 기다리기를 멈춥니다.

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

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

관련 항목

StatusBarGetText, WinGetTitle, WinGetText, ControlGetText

예제

; 다음 예제는 새로운 검색 패턴을 기존의 Explorer/Search 창에 삽입합니다.
IfWinExist, Search Results ; 마지막 발견 창을 설정하여 아래를 간단하게 만듭니다.
{
    WinActivate
    Send, {tab 2}!o*.txt{enter}  ; 검색 창에, 검색할 패턴을 입력합니다.
    Sleep, 400  ; 상태 바에 "Searching"으로 바꿀 시간을 줍니다.
    StatusBarWait, found, 30
    if ErrorLevel
        MsgBox, 명령어가 시간 제한에 걸렸거나 문제가 있었습니다.
    else
        MsgBox, 검색이 성공적으로 완료 되었습니다.
}
선택 | 내려받기

 

; 다음 예제는 활성 창의 상태바가 바뀌기를 기다립니다. 이 예제는 v1.0.46.06+을 요구합니다.
SetTitleMatchMode RegEx
IfWinExist A  ; 마지막 발견 창에 활성 창을 설정합니다 (아래에 사용).
{
   StatusBarGetText, OrigText
   StatusBarWait, ^(?!^\Q%OrigText%\E$)  ; 이 정규 표현식은 텍스트에 무엇이든 변화가 있기를 기다립니다.
}
선택 | 내려받기