WinActive()

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

EindeutigeID := WinActive(FensterTitel, FensterText, AusnahmeTitel, AusnahmeText)

Parameter

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet. Andernfalls geben Sie für FensterTitel einen Fenstertitel oder andere Kriterien zur Identifizierung des Zielfensters und/oder für FensterText eine Teilzeichenkette aus einem Textelement des Zielfensters an (Textelemente können mit dem internen Tool "Window Spy" in Erfahrung gebracht werden).

AusnahmeTitel und AusnahmeText können verwendet werden, um ein oder mehrere Fenster anhand ihres Titels oder Textes auszuschließen. Ihre Angabe ähnelt der von FensterTitel und FensterText, außer dass AusnahmeTitel keine anderen Kriterien als den Fenstertitel erkennt.

Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Standardmäßig werden versteckte Fenster nicht erkannt und versteckte Textelemente erkannt, was mit DetectHiddenWindows und DetectHiddenText geändert werden kann. Standardmäßig muss ein Fenstertitel mit dem angegebenen FensterTitel oder AusnahmeTitel beginnen, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.

Rückgabewert

Diese Funktion gibt die HWND-Nummer (eindeutige ID) des aktiven Fensters (als hexadezimalen Integer) zurück, wenn es den angegebenen Kriterien entspricht, andernfalls 0.

Alle Zahlen ungleich 0 werden als "True" (wahr) angesehen, folglich wird die Anweisung if WinActive(FensterTitel) immer True sein, wenn FensterTitel aktiv ist.

Bemerkungen

Wenn das aktive Fenster eine qualifizierte Übereinstimmung ist, wird das Zuletzt Gefundene Fenster auf dieses aktive Fenster aktualisiert.

Eine einfache Möglichkeit, die HWND-Nummer (eindeutige ID) des aktiven Fensters abzurufen, ist AktiveHwnd := WinExist("A").

SetWinDelay hat keinen Einfluss auf diese Funktion.

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

Beispiele

Schließt entweder Notepad oder ein anderes Fenster, abhängig davon, welches durch die vorherigen WinActive-Funktionen gefunden wurde. Beachten Sie, dass das Leerzeichen zwischen einem "ahk_"-Schlüsselwort und seinem Kriteriumwert weggelassen werden kann; dies ist besonders bei der Verwendung von Variablen nützlich, wie das zweite WinActive zeigt.

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