WinGetList

Gibt ein Array von eindeutigen ID-Nummern (HWNDs) aller existierenden Fenster gemäß bestimmter Kriterien zurück.

HWNDs := WinGetList(FensterTitel, FensterText, AusnahmeTitel, AusnahmeText)

Parameter

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Typ: Zeichenkette, Integer oder Objekt

Wenn jeder dieser Parameter leer ist oder weggelassen wird, werden alle Fenster im gesamten System abgerufen. 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: Array

Diese Funktion gibt ein Array von eindeutigen ID-Nummern aller existierenden Fenster gemäß bestimmter Kriterien zurück. Jede Nummer ist ein Fensterhandle (HWND). Wenn kein Fenster gefunden wurde, wird ein leeres Array zurückgegeben.

Wenn zum Beispiel der Rückgabewert in eine Variable namens HWNDs gespeichert wird und zwei Fenster vorhanden sind, gibt HWNDs[1] die ID des ersten Fensters, HWNDs[2] die ID des zweiten Fensters und HWNDs.Length die Zahl 2 zurück.

Die Fenster werden von oben nach unten abgerufen (entsprechend ihrer Stapelung auf dem Desktop).

Bemerkungen

Mit MouseGetPos kann die ID des Fensters unter dem Mauszeiger abgerufen werden.

WinGetCount, Win-Funktionen, Control-Funktionen

Beispiele

Besucht alle Fenster im System und zeigt Informationen zu jedem an.

IDs := WinGetList(,, "Program Manager")
for diese_ID in IDs
{
    WinActivate diese_ID
    diese_Klasse := WinGetClass(diese_ID)
    dieser_Titel := WinGetTitle(diese_ID)
    Ergebnis := MsgBox(
    (
        "Gehe alle Fenster durch
        " A_Index " von " IDs.Length "
        ahk_id " diese_ID "
        ahk_class " diese_Klasse "
        " dieser_Titel "

        Weiter?"
    ),, 4)
    if (Ergebnis = "No")
        break
}