Funktionreferenz


WinActivate

Beschreibung anzeigen in

Holt ein bestimmtes Fenster in den Vordergrund und setzt den Fokus auf dasselbe.

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

Parameter

title Der Titel, das Handle oder die Klasse des Fensters, welches in den Vordergrund gebracht werden soll. Siehe Erweiterte Fenstertiteldefinition.
text [optional] Der Text des Fensters, welches in den Vordergrund gebracht werden soll. Standardwert ist ein Leerstring. Siehe Erweiterte Fenstertextdefinition.

Rückgabewert

Erfolg: das Handle des Fensters.
Fehler: 0, wenn das Fenster nicht gefunden wurde oder nicht aktiviert werden konnte.

Bemerkungen

Mit der WinActive()-Funktion kann geprüft werden, ob WinActivate() erfolgreich war. Falls mehrere Fenster die Kriterien erfüllen, wird das zuletzt aktive Fenster aktiviert. WinActivate() funktioniert auch mit minimierten Fenstern. Trotzdem kann ein Fenster, welches den Status "immer im Vordergrund" hat, das aktivierte Fenster überlappen bzw. überdecken.

Nach einer erfolgreichen Aktivierung wird @extended auf 1 gesetzt, wenn das Fenster bereits aktiv war, ansonsten auf 2.

Verwandte Funktionen

WinClose, WinKill, WinMove, WinSetState, WinTitleMatchMode (Option)

Beispiel

#include <MsgBoxConstants.au3>

Example()

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

    ; Prüft, ob das Fenster aktiviert ist und zeigt das Ergebnis an.
    If WinActivate("[CLASS:Notepad]", "") Then
        MsgBox($MB_SYSTEMMODAL + $MB_ICONWARNING, "Warnung", "Das Fenster wurde aktiviert" & @CRLF & @CRLF & "Vielleicht ist das System sehr schnell.")
    Else
        ; Der Editor wird dargestellt, da die MsgBox durch deren Verzägerung dies erlaubt.
        MsgBox($MB_SYSTEMMODAL, "", "Das Fenster wurde aktiviert" & @CRLF & @CRLF & "Aber der Editor befindet sich im Hintergrund wegen der MsgBox.", 5)
    EndIf

    ; Prüft erneut, ob das Fenster aktiviert ist und zeigt das Ergebnis an.
    If WinActivate("[CLASS:Notepad]", "") Then
        MsgBox($MB_SYSTEMMODAL, "", "Das Fenster ist NUN aktiviert")
    Else
        MsgBox($MB_SYSTEMMODAL + $MB_ICONERROR, "Fehler", "Das Fenster ist nicht aktiviert")
    EndIf

    ; Schließt das Editor-Fenster durch die Verwnedung des von WinWait zurückgegebenen Handles.
    WinClose("[CLASS:Notepad]", "")
EndFunc   ;==>Example