Fenstertitel und -text (erweitert)

AutoIt arbeitet in einem von drei "Fenster-bezogenen" Modi. Diese Modi werden mit der Funktion AutoItSetOption sowie der Option WinTitleMatchMode gesetzt.

Modus 1 (Standard)

Übereinstimmung von Titel-Teilen (beginnend am Anfang).

In diesem Modus würde ein mit Unbenannt - Editor betiteltes Fenster eine Übereinstimmung mit "Unbenannt - Editor", "Unbenannt", "Un", etc. erzielen,

z.B.

@@SyntaxHighlighting@@ WinWait("Unbekannt") @@End@@

 

Modus 2

Übereinstimmung einer beliebigen Teilzeichenfolge des Titels.

In diesem Modus würde ein mit Unbenannt - Editor betiteltes Fenster eine Übereinstimmung mit "Unbenannt - Editor", "Unbenannt", "Editor", "tor", etc. erzielen,

z.B.

@@SyntaxHighlighting@@ WinWait("Editor") @@End@@

 

Modus 3

Exakte Titel-Übereinstimmung.

In diesem Modus würde ein mit Unbenannt - Editor betiteltes Fenster nur mit "Unbenannt - Editor" eine Übereinstimmung erzielen.

 

Modus 4 (beibehalten für die Abwärtskompatibilität)

Erweiterter Modus

Ersetzt durch die erweiterten Fensterbeschreibungen, welche in jedem Modus funktionieren.

 

Modi -1 bis -3

Die Groß- und Kleinschreibung wird ignoriert, abhängig von den anderen Übereinstimmungsmodi

Erweiterte Fensterbeschreibungen

Eine spezielle Beschreibung kann als Fenster Titel Parameter genutzt werden. Diese Beschreibung kann mit Hilfe der folgenden Eigenschaften dazu genutzt werden, ein Fenster zu identifizieren:

Eine oder mehrere Eigenschaften des Title Parameters eines Fensters werden im folgenden Format benutzt:

@@SyntaxHighlighting@@ [EIGENSCHAFT1: Wert1; EIGENSCHAFT2:Wert2] @@End@@

 

Es ist folgendes zu beachten : falls ein Wert ein ";" enthalten muss, so muss dieses verdoppelt werden.

z.B. Warte auf ein Fenster mit dem Klassennamen "Editor"

@@SyntaxHighlighting@@ WinWaitActive("[CLASS:Editor]", "") @@End@@

 

z.B. Schließt das momentan aktive Fenster

@@SyntaxHighlighting@@ WinClose("[ACTIVE]", "") @@End@@

 

z.B. Warte auf die zweite Instanz eines Fensters mit dem Titel "Mein Fenster" und dem Klassennamen "Meine Klasse"

@@SyntaxHighlighting@@ WinWaitActive("[TITLE:Mein Fenster; CLASS:Meine Klasse; INSTANCE:2]", "") @@End@@

 

z. B. Listet die Fenster welche auf einen Klasssennamen passen der durch einen regulären Ausdruck definiert wurde

@@SyntaxHighlighting@@ WinList("[REGEXPTITLE:(?i)(.*SciTE.*|.*Internet Explorer.*)]") @@End@@

Fenster Handles / HWNDs

Der Datentyp 'Variant' in AutoIt unterstützt von Haus aus Fenster-Handles (HWNDs). Ein Fenster-Handle ist ein spezieller Wert, den Windows jedesmal dann einem Fenster zuordnet, sobald eines erstellt wird. Kennt man ein Fenster-Handle, kann man es an Stelle des Titel Parameters in jedem Funktionsaufruf nutzen, der die Titel/Text Vereinbarungen erfüllt. Der Vorteil bei der Nutzung der Fenster-Handles ist der, dass wenn man mehrere Kopien einer Applikation geöffnet hat, -die alle den selben Titel/Text haben- man diese eindeutig über ihre Fenster-Handles identifizieren kann. Wenn man ein Fenster-Handle als Titel-Parameter nutzt, dann wird der Text Parameter vollständig ignoriert.

Verschiedene Funktionen wie z.B. WinGetHandle, WinList und GUICreate geben diese Handles zurück. Es ist wichtig zu wissen, dass ein Fenster-Handle nicht als Zahl oder Zeichenfolge (String) klassifiziert ist. - Er ist ein eigener, spezieller Typ.

Es ist folgendes zu beachten: Fenster-Handles funktionieren immer, egal welcher WinTitleMatchMode gerade in Benutzung ist.

Beispiel

@@SyntaxHighlighting@@ Local $hWnd = WinGetHandle("Unbenannt - Editor", "") WinClose($hWnd) @@End@@