Wartet, bis die Statusleiste eines Fensters eine bestimmte Zeichenkette enthält.
StatusBarWait , LeisteText, Zeitlimit, SegmentNummer, FensterTitel, FensterText, Intervall, IgnoriereTitel, IgnoriereText
Der Text oder Teiltext, auf den der Befehl warten soll. Wenn dieser Parameter leer ist, wartet StatusBarWait, bis die Statusleiste leer ist. Der Text ist Groß-/Kleinschreibung-sensitiv. Das Übereinstimmungsverhalten wird per SetTitleMatchMode bestimmt, ähnlich wie bei FensterTitel unten.
Um stattdessen zu warten, bis sich der Text des Balkens ändert, verwenden Sie entweder StatusBarGetText in einer Schleife oder das RegEx-Beispiel weiter unten.
Die Dauer in Sekunden (kann ein Dezimalpunkt enthalten oder ein Ausdruck sein), wie lange StatusBarWait warten soll. Wenn die Zeit abgelaufen ist, wird ErrorLevel auf 1 gesetzt. Wenn dieser Parameter weggelassen wird oder leer ist, wird der Befehl unendlich lang warten. Die Angabe von 0 ist das gleiche wie, als würde man 0.5 angeben.
Die Nummer des Leistenbereichs, dessen Text abgerufen werden soll (kann auch ein Ausdruck sein). Wenn dieser Parameter leer ist, wird standardmäßig 1 verwendet (der erste Bereich enthält üblicherweise den interessanten Text).
Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie unter FensterTitel-Parameter.
Eine Zeichenkette, die in einem der Textelemente des Zielfensters enthalten ist (eventuell vorhandene Textelemente können mit dem internen Tool Window Spy aufgedeckt werden). Versteckte Textelemente werden nur erkannt, wenn DetectHiddenText eingeschaltet ist.
Wie oft die Statusleiste überprüft werden soll, während der Befehl wartet (in Millisekunden). Kann ein Ausdruck sein. 50 ist Standard.
Alle Fenster, die diesen Wert in ihren Titeln enthalten, werden ignoriert.
Alle Fenster, die diesen Wert in ihren Textelementen enthalten, werden ignoriert.
[v1.1.04+]: Dieser Befehl ist in der Lage, eine Ausnahme auszulösen, wenn er nicht auf die Statusleiste zugreifen konnte. Weitere Informationen finden Sie unter Laufzeitfehler.
ErrorLevel wird auf 1 gesetzt, wenn der Befehl das Zeitlimit überschritten hat, bevor eine Übereinstimmung in der Statusleiste gefunden werden konnte. Es wird auf 2 gesetzt, wenn StatusBarWait nicht auf die Statusleiste zugreifen kann. Es wird auf 0 gesetzt, wenn eine Übereinstimmung gefunden wird.
StatusBarWait versucht, die erste Standard-Statusleiste eines Fensters zu lesen (typisches Steuerelement von Microsoft: msctls_statusbar32). Einige Programme verwenden ihre eigenen Statusleisten oder spezielle Versionen des Microsoft-Steuerelements. Solche Leisten werden nicht unterstützt.
Anstatt StatusBarGetText in einer Schleife zu verwenden, ist es besser, StatusBarWait zu verwenden, weil es Optimierungen beinhaltet, die einen Overhead durch mehrfaches Aufrufen von StatusBarGetText verhindern.
StatusBarWait bestimmt das Zielfenster, bevor es damit beginnt, auf eine Übereinstimmung zu warten. Falls dieses Zielfenster geschlossen wird, hört der Befehl auf zu warten, auch dann, wenn ein anderes Fenster mit dem gleichen FensterTitel und FensterText vorhanden ist.
Während der Befehl im Wartezustand ist, können neue Threads via Hotkeys, benutzerdefinierte Menüpunkte oder Timer gestartet werden.
Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Versteckte Fenster werden nur erkannt, wenn DetectHiddenWindows eingeschaltet ist.
StatusBarGetText, WinGetTitle, WinGetText, ControlGetText
Schreibt ein neues Suchmuster in ein vorhandenes Explorer-/Suchfenster.
if WinExist("Suchergebnisse") ; Bestimmt das zuletzt gefundene Fenster, um das untere zu vereinfachen. { WinActivate Send, {tab 2}!o*.txt{enter} ; Schreibt das Suchmuster in das Suchfenster. Sleep, 400 ; Gewährt der Statusleiste Zeit, auf "Suchen" umzuwechseln. StatusBarWait, gefunden, 30 if ErrorLevel MsgBox, Die Zeit ist abgelaufen oder es gab ein Problem. else MsgBox, Die Suche wurde erfolgreich durchgeführt. }
Wartet auf eine Änderung der Statusleiste im aktiven Fenster. Dieses Beispiel benötigt [v1.0.46.06+].
SetTitleMatchMode RegEx ; Akzeptiert Reguläre Ausdrücke für den nachfolgenden Gebrauch. if WinExist("A") ; Setzt das zuletzt gefundene Fenster auf das aktive Fenster. { StatusBarGetText, Originaltext StatusBarWait, ^(?!^\Q%Originaltext%\E$) ; Dieser reguläre Ausdruck wartet auf eine Änderung des Textes. }