Holt ein bestimmtes Fenster in den Vordergrund und setzt den Fokus auf dasselbe.
WinActivate ( "title" [, "text"] )
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. |
Erfolg: | das Handle des Fensters. |
Fehler: | 0, wenn das Fenster nicht gefunden wurde oder nicht aktiviert werden konnte. |
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.
WinClose, WinKill, WinMove, WinSetState, WinTitleMatchMode (Option)
#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