Ruft die eindeutige ID, die Prozess-ID, den Prozessnamen oder eine Liste der Steuerelemente eines bestimmten Fensters ab. Kann auch eine Liste von Fenstern gemäß bestimmter Kriterien abrufen.
WinGet, AusgabeVar , Unterbefehl, FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet (außer bei den Unterbefehlen Count und List). 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.
Geben Sie für Unterbefehl Folgendes an:
Ruft die eindeutige ID eines Fensters ab.
WinGet, AusgabeVar, ID , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Auch bekannt als Fensterhandle (engl. window handle, kurz HWND). Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht. Die Funktionen WinExist() und WinActive() können auch verwendet werden, um die ID eines Fensters zu ermitteln. Zum Beispiel ist WinExist("A")
ein schneller Weg, um die ID des aktiven Fensters zu erhalten. Mit ControlGet Hwnd oder MouseGetPos kann die HWND-Nummer eines Steuerelements abgerufen werden, um sie z.B. für Post/SendMessage oder DllCall zu verwenden.
Ruft die eindeutige ID des letzten/untersten Fensters bei mehr als einem Fund ab.
WinGet, AusgabeVar, IDLast , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Auch bekannt als Fensterhandle (engl. window handle, kurz HWND). Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht. Wenn nur ein Fenster gefunden wurde, verhält sich dieser Unterbefehl wie der ID- Unterbefehl. Dieses Konzept ähnelt dem von WinActivateBottom.
Ruft die Prozess-ID-Nummer eines Fensters ab.
WinGet, AusgabeVar, PID , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht.
Ruft den Namen des Prozesses eines Fensters ab.
WinGet, AusgabeVar, ProcessName , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Zum Beispiel wäre das "notepad.exe". Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht.
Ruft den kompletten Pfad und Namen des Prozesses eines Fensters ab.
WinGet, AusgabeVar, ProcessPath , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Zum Beispiel wäre das "C:\Windows\System32\notepad.exe". Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht.
Ruft die Anzahl existierender Fenster gemäß den Titel/Text-Parametern ab.
WinGet, AusgabeVar, Count , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn kein Fenster gefunden wurde, wird AusgabeVar auf 0 gesetzt. Um alle Fenster im System zu zählen, lassen Sie alle vier Titel/Text-Parameter weg. Versteckte Fenster werden nur mitgezählt, wenn DetectHiddenWindows eingeschaltet ist.
Ruft die eindeutigen IDs aller existierenden Fenster gemäß den Titel/Text-Parametern ab.
WinGet, AusgabeVar, List , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Um alle Fenster im System abzurufen, lassen Sie alle vier Titel/Text-Parameter weg. Jede ID-Nummer wird in eine Variable gespeichert, deren Name mit dem Namen von AusgabeVar beginnt (um ein Pseudo-Array zu formen). AusgabeVar selbst wird auf die Anzahl der abgerufenen IDs gesetzt (andernfalls 0). Wenn AusgabeVar z.B. MeinArray ist und wurden zwei Fenster gefunden, wird MeinArray1 auf die ID des ersten Fensters, MeinArray2 auf die ID des zweiten Fensters und MeinArray selbst auf 2 gesetzt. Die Fenster werden von oben nach unten abgerufen (entsprechend ihrer Stapelung auf dem Desktop). Versteckte Fenster werden nur mit einbezogen, wenn DetectHiddenWindows eingeschaltet ist. Um ein Pseudo-Array innerhalb einer Funktion global statt lokal zu machen, deklarieren Sie MeinArray als globale Variable, bevor Sie diesen Befehl verwenden (für Assume-Global-Funktionen gilt das Gegenteil). Oft ist es auch notwendig, jede Variable in diesem Satz einzeln zu deklarieren, da ein häufiger Anlass zu Verwirrung vorliegt.
Ruft eine Zahl ab, die angibt, ob ein Fenster minimiert oder maximiert ist.
WinGet, AusgabeVar, MinMax , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
AusgabeVar wird leer gemacht, wenn kein Fenster gefunden wurde, andernfalls wird es auf eine der folgenden Zahlen gesetzt:
Ruft die Namen aller Steuerelemente in einem Fenster ab.
WinGet, AusgabeVar, ControlList , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn kein Fenster gefunden wurde oder keine Steuerelemente im Fenster vorhanden sind, wird AusgabeVar leer gemacht. Andernfalls wird es auf eine Liste von Steuerelementnamen gesetzt. Jeder Name besteht aus dem Klassennamen des Steuerelements gefolgt von seiner Sequenznummer (ClassNN), wie im internen Tool "Window Spy" angezeigt.
Jeder Steuerelementname außer dem letzten endet mit einem Zeilenvorschub (`n). Um die Steuerelementnamen einzeln durchzugehen, verwenden Sie eine parsende Schleife, wie in Beispiel #3 unten gezeigt.
Steuerelemente werden nach ihrer Z-Reihenfolge sortiert, was üblicherweise der Navigation via Tab entspricht, sofern vom Fenster unterstützt.
Ruft die eindeutigen IDs aller Steuerelemente in einem Fenster ab.
WinGet, AusgabeVar, ControlListHwnd , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn kein Fenster gefunden wurde oder keine Steuerelemente im Fenster vorhanden sind, wird AusgabeVar leer gemacht. Andernfalls wird es auf eine Liste von eindeutigen IDs gesetzt. Jede ID ist das Fensterhandle (HWND) des Steuerelements.
Jede ID außer der letzten endet mit einem Zeilenvorschub (`n). Um die IDs einzeln durchzugehen, verwenden Sie eine parsende Schleife, wie in Beispiel #3 unten gezeigt.
Steuerelemente werden nach ihrer Z-Reihenfolge sortiert, was üblicherweise der Navigation via Tab entspricht, sofern vom Fenster unterstützt.
Ruft die Transparenzstärke eines Fensters ab.
WinGet, AusgabeVar, Transparent , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Mit WinSet kann ein Fenster transparent gemacht werden. AusgabeVar wird leer gemacht, wenn: 1) das Betriebssystem älter als Windows XP ist; 2) kein Fenster gefunden wurde; 3) das Fenster nicht transparent ist; oder 4) andere Fälle auftreten (bedingt durch das Verhalten des Betriebssystems), z.B. wenn das transparent gemachte Fenster minimiert, wiederhergestellt und/oder größer/kleiner gemacht wurde. Andernfalls wird eine Zahl zwischen 0 und 255 gespeichert, wobei 0 ein durchsichtiges Fenster und 255 ein undurchsichtiges Fenster bedeutet. Zum Beispiel:
MouseGetPos,,, MausFenster WinGet, Transparenz, Transparent, ahk_id %MausFenster% ; Transparenz des Fensters unter dem Mauszeiger.
Ruft die Farbe ab, die in einem Fenster als transparent markiert ist.
WinGet, AusgabeVar, TransColor , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Mit WinSet kann eine Farbe als transparent markiert werden. AusgabeVar wird leer gemacht, wenn: 1) das Betriebssystem älter als Windows XP ist; 2) kein Fenster gefunden wurde; 3) das Fenster keine transparente Farbe hat; oder 4) andere Fälle auftreten (bedingt durch das Verhalten des Betriebssystems), z.B. wenn das transparent gemachte Fenster minimiert, wiederhergestellt und/oder größer/kleiner gemacht wurde. Andernfalls wird eine 6-stellige hexadezimale RGB-Farbe gespeichert, z.B. 0x00CC99. Zum Beispiel:
MouseGetPos,,, MausFenster WinGet, TransFarbe, TransColor, ahk_id %MausFenster% ; Transparente Farbe des Fensters unter dem Mauszeiger.
Ruft den Style eines Fensters als 8-stellige Hexadezimalzahl ab.
WinGet, AusgabeVar, Style , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht. Das folgende Beispiel prüft, ob ein Fenster den WS_DISABLED-Style hat:
WinGet, Style, Style, Mein Fenstertitel if (Style & 0x8000000) ; 0x8000000 ist WS_DISABLED. MsgBox Das Fenster ist deaktiviert.
Weitere Styles finden Sie unter Fenster- und Steuerelement-Styles.
Ruft den erweiterten Style eines Fensters als 8-stellige Hexadezimalzahl ab.
WinGet, AusgabeVar, ExStyle , FensterTitel, FensterText, AusnahmeTitel, AusnahmeText
Wenn kein Fenster gefunden wurde, wird AusgabeVar leer gemacht. Das folgende Beispiel prüft, ob ein Fenster den WS_EX_TOPMOST-Style hat (immer im Vordergrund):
WinGet, ExStyle, ExStyle, Mein Fenstertitel if (ExStyle & 0x8) ; 0x8 ist WS_EX_TOPMOST. MsgBox Das Fenster ist immer im Vordergrund.
Weitere Styles finden Sie unter Fenster- und Steuerelement-Styles.
Die Gültigkeit einer ID-Nummer ist an die Lebensdauer des zugehörigen Fensters gebunden. Mit anderen Worten: Wenn eine Anwendung neu gestartet wird, erhalten all ihre Fenster neue ID-Nummern.
Alle ID-Nummern, die mit diesem Befehl abgerufen werden, sind numerisch (ohne das Präfix "ahk_id") und werden im Hexadezimalformat gespeichert, egal welche SetFormat-Einstellung gerade aktiv ist.
Mit MouseGetPos kann die ID des Fensters unter dem Mauszeiger abgerufen werden.
Obwohl die ID-Nummern derzeit vorzeichenlose 32-Bit-Integer sind, können sie in einer zukünftigen Version 64-Bit sein. Daher ist es unsicher, numerische Operationen wie z.B. Additionen mit diesen Werten durchzuführen, da solche Operationen voraussetzen, dass die Eingabezeichenketten als vorzeichenfähige und nicht als vorzeichenlose Integer interpretierbar sind.
WinGetClass, Process, WinGetTitle, MouseGetPos, ControlGet, ControlFocus, GroupAdd
Maximiert das aktive Fenster und meldet dessen eindeutige ID.
WinGet, AktiveID, ID, A WinMaximize, ahk_id %AktivID% MsgBox, Die ID des aktiven Fensters ist "%AktiveID%".
Besucht alle Fenster im System und zeigt Informationen zu jedem an.
WinGet, id, List,,, Program Manager Loop, %id% { diese_ID := id%A_Index% WinActivate, ahk_id %diese_ID% WinGetClass, diese_Klasse, ahk_id %diese_ID% WinGetTitle, dieser_Titel, ahk_id %diese_ID% MsgBox, 4, , Gehe alle Fenster durch`n%A_Index% von %id%`nahk_id %diese_ID%`nahk_class %diese_Klasse%`n%dieser_Titel%`n`nWeiter? IfMsgBox, NO, break }