WinActive()

Überprüft, ob ein bestimmtes Fenster aktiv ist, und gibt dessen HWND-Nummer (eindeutige ID) zurück.

EindeutigeID := WinActive(FensterTitel, FensterText, IgnoriereTitel, IgnoriereText)

Parameter

FensterTitel
Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie unter FensterTitel-Parameter.
FensterText
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.
IgnoriereTitel
Alle Fenster, die diesen Wert in ihren Titeln enthalten, werden ignoriert.
IgnoriereText
Alle Fenster, die diesen Wert in ihren Textelementen enthalten, werden ignoriert.

Rückgabewert

Diese Funktion gibt die HWND-Nummer (eindeutige ID) des aktiven Fensters (als hexadezimalen Integer) zurück, wenn es die angegebenen Kriterien erfüllt, oder 0, wenn nicht.

Da alle Zahlen ungleich Null als "wahr" angesehen werden, ist die Anweisung if WinActive(FensterTitel) immer dann wahr, wenn FensterTitel aktiv ist.

Bemerkungen

Wenn alle Parameter weggelassen werden, wird das Zuletzt Gefundene Fenster verwendet.

Wenn das aktive Fenster eine geeignete Übereinstimmung ist, wird das Zuletzt Gefundene Fenster aktualisiert, um das aktive Fenster zu sein.

Ein einfacher Weg, die HWND-Nummer (eindeutige ID) des aktiven Fensters abzurufen, ist AktiveHwnd := WinExist("A").

SetWinDelay hat keinen Einfluss auf diese Funktion.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Versteckte Fenster werden nur erkannt, wenn DetectHiddenWindows eingeschaltet ist.

IfWinActive / IfWinNotActive, WinExist(), SetTitleMatchMode, DetectHiddenWindows, Zuletzt Gefundenes Fenster, WinActivate, WinWaitActive, WinWait, WinWaitClose, #IfWinActive/Exist

Beispiele

Schließt entweder den Texteditor oder ein anderes Fenster, je nachdem, welches der beiden von den WinActive-Funktionen darüber gefunden wurde. Beachten Sie, dass das Leerzeichen zwischen einem "ahk_"-Schlüsselwort und seinem Kriteriumwert weggelassen werden kann; dies ist besonders nützlich, wenn man Variablen verwendet, wie das zweite WinActive zeigt.

if WinActive("ahk_class Notepad") or WinActive("ahk_class" KlasseName)
    WinClose ; Verwendet das von WinActive gefundene Fenster.