WinExist()

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

HWND := WinExist(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 (wie von Window Spy angezeigt).

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 bzw. 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 eindeutige ID (HWND) des ersten gefundenen Fensters (als hexadezimalen Integer) 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.

Um das HWND eines Steuerelements zu erhalten, verwenden Sie ControlGet Hwnd oder ähnliches.

SetWinDelay hat keinen Einfluss auf diese Funktion.

IfWinExist / IfWinNotExist, WinActive(), SetTitleMatchMode, DetectHiddenWindows, Zuletzt Gefundenes Fenster, Process, WinActivate, WinWaitActive, WinWait, WinWaitClose, #IfWinActive/Exist, #If

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 das HWND des aktiven Fensters.

MsgBox % "HWND des aktiven Fensters ist " WinExist("A")

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

if not WinExist("Rechner")
    return