Funktionreferenz


WinGetState

Beschreibung anzeigen in

Ermittelt den Status eines Fensters.

WinGetState ( "title" [, "text"] )

Parameter

title Der Titel, das Handle oder die Klasse des Fensters, dessen Status erhalten werden soll. Siehe Erweiterte Fenstertiteldefinition.
text [optional] Der Text des Fensters, dessen Status erhalten werden soll. Standardwert ist ein Leerstring. Siehe Erweiterte Fenstertextdefinition.

Rückgabewert

Erfolg: eine Zahl, die den Status repräsentiert. Dabei werden mehrere der nachfolgenden dargestellten Werte addiert. Die Funktion BitAND() kann dann zur Prüfung genutzt werden:
$WIN_STATE_EXISTS (1) = Fenster existiert.
$WIN_STATE_VISIBLE (2) = Fenster ist sichtbar.
$WIN_STATE_ENABLED (4) = Fenster ist freigegeben.
$WIN_STATE_ACTIVE (8) = Fenster ist aktiv.
$WIN_STATE_MINIMIZED (16) = Fenster ist minimiert.
$WIN_STATE_MAXIMIZED (32) = Fenster ist maximiert.
Fehler: 0 und setzt das @error Flag auf ungleich null, wenn das Fenster nicht gefunden wurde.

Die Konstanten sind in "AutoItConstants.au3" definiert.

Verwandte Funktionen

BitAND, WinGetPos, WinSetState

Beispiel

#include <AutoItConstants.au3>
#include <MsgBoxConstants.au3>

Example()

Func Example()
    ; Startet den Editor
    Run("notepad.exe")

    ; Wartet maximal 10 Sekunden bis das Editorfenster erscheint.
    Local $hWnd = WinWait("[CLASS:Notepad]", "", 10)

    ; Ermittelt den Status des Editorfensters durch die Verwendung des von WinWait zurückgegebenen Handles.
    Local $iState = WinGetState($hWnd)

    ; Prüft, ob das Editorfenster minimert und zeigt das Ergebnis in einem Nachrichtenfenster an.
    If BitAND($iState, $WIN_STATE_MINIMIZED) Then
        MsgBox($MB_SYSTEMMODAL, "", "Der Editor ist minimiert und der von WinGetState zurückgegebene Status lautet - " & $iState)
    Else
        MsgBox($MB_SYSTEMMODAL, "", "Der Editor ist nicht minimiert und der von WinGetState zurückgegebene Status lautet - " & $iState)
    EndIf

    ; Schließt das Editorfenster durch die Verwendung des von WinWait zurückgegebenen Handles.
    WinClose($hWnd)
EndFunc   ;==>Example