StatusBarWait

차의 상태 바에 지정된 문자열이 들어올 때까지 기다립니다.

StatusBarWait , BarText, Timeout, Part#, WinTitle, WinText, Interval, ExcludeTitle, ExcludeText

매개변수

BarText

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

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

Timeout

시간 제한을 선언하기 전에 기다릴 초의 개수 (소수 점을 포함할 수 있고 표현식일 수 있습니다). 시간 제한에 걸릴 경우 ErrorLevel은 1이 설정됩니다. Default is blank, which means the command will wait indefinitely. 0을 지정하면 0.5를 지정한 것과 같습니다.

Part#

바에서 열람할 부분의 번호, 표현식 가능. 기본값은 1이며 보통 관심의 텍스트를 담고 있는 부분입니다.

WinTitle

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

WinText

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

Interval

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

ExcludeTitle

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

ExcludeText

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

에러 처리

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

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

논평

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

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

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

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

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

StatusBarGetText, WinGetTitle, WinGetText, ControlGetText

예제

새로운 검색 패턴을 기존의 Explorer/Search 창에 삽입합니다.

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

Waits for the status bar of the active window to change. This example requires [v1.0.46.06+].

SetTitleMatchMode RegEx  ; Accept regular expressions for use below.
if WinExist("A")  ; 마지막 발견 창에 활성 창을 설정합니다 (아래에 사용).
{
    StatusBarGetText, OrigText
    StatusBarWait, ^(?!^\Q%OrigText%\E$)  ; 이 정규 표현식은 텍스트에 무엇이든 변화가 있기를 기다립니다.
}