WinExist

Prüft, ob ein bestimmtes Fenster existiert, und gibt die HWND-Nummer (eindeutige ID) des ersten gefundenen Fensters zurück.

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

Parameter

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Typ: Zeichenkette, Integer oder Objekt

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 kann ein Fenstertitel den angegebenen FensterTitel oder AusnahmeTitel an beliebiger Stelle enthalten, um eine Übereinstimmung zu sein, was mit SetTitleMatchMode geändert werden kann.

Rückgabewert

Typ: Integer

Diese Funktion gibt die HWND-Nummer (eindeutige ID) des ersten gefundenen Fensters zurück (andernfalls 0).

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

Bemerkungen

Wenn ein qualifiziertes Fenster existiert, wird das Zuletzt Gefundene Fenster auf dieses Fenster aktualisiert.

Mit ControlGetHwnd oder MouseGetPos kann die HWND-Nummer eines Steuerelements abgerufen werden, um sie z.B. für PostMessage, SendMessage oder DllCall zu verwenden.

SetWinDelay hat keinen Einfluss auf diese Funktion.

WinActive, SetTitleMatchMode, DetectHiddenWindows, Zuletzt Gefundenes Fenster, ProcessExist, WinActivate, WinWaitActive, WinWait, WinWaitClose, #HotIf

Beispiele

Aktiviert entweder Notepad oder ein anderes Fenster, abhängig davon, welches durch die vorherigen WinExist-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 WinExist zeigt.

if WinExist("ahk_class Notepad") or WinExist("ahk_class" KlasseName)
    WinActivate ; Verwendet das von WinExist gefundene Fenster.

Ermittelt und meldet die HWND-Nummer (eindeutige ID) des aktiven Fensters.

MsgBox "Die ID des aktiven Fensters ist " WinExist("A")

Kehrt via Return zurück, wenn der Taschenrechner nicht existiert.

if not WinExist("Rechner")
    return