# Fenstertitel und -texte (Fortgeschrittene)

AutoIt arbeitet in einem von vier "Titelvergleichs"-Modi. Die Modi werden mit der AutoItSetOption-Funktion und der WinTitleMatchMode-Option gesetzt.

Modus 1 (standard)

Findet am Start beginnende Teiltiel.

In diesem Modus wird das Fenster Untitled - Notepad mit "Untitled - Notepad", "Untitled", "Un", etc. erkannt.

z.B.:

WinWait("Untitled")

Modus 2

Stimmt mit einem Teilstring irgendwo im Titel überein.

In diesem Modus wird das Fenster Untitled - Notepad mit "Untitled - Notepad", "Untitled", "Notepad", "pad", etc. erkannt.

z.B.:

WinWait("Notepad")

Modus 3

Exakt Übereinstimmung mit dem Titel.

In diesem Modus wird das Fenster Untitled - Notepad nur mit "Untitled - Notepad" erkannt.

Modus 4

Erweiterter Modus.

In diesem Modus können zusätzlich spezielle Sequenzen im Titel-Parameter angegeben werden, sodass Fensterclassnames und -handles verwandt werden können. Der Text-Parameter verändert sich nicht.

Die spziellen Sequenzen dürfen keine Leerzeichen enthalten. Diese Sequenzen sind:

"classname=CLASSNAME"

"active"

"last" or ""

"classname=" beschreibt ein Fenster auf der Basis seines "classname". Wenn du z.B. ein Fenster mit dem classname "MYCLASS1" ansprechen willst, dann würdest du "classname=MYCLASS1" als Title-Parameter verwenden.

"active" beschreibt das gerade aktive Fenster (entspricht "" im Standard-WinTitleMatchModus).

"last" verwendet den Parameter der letzten erfolgreichen Fenstersuche. Damit musst du den Titel nicht immer und immer wieder angeben. Bsp.:

AutoItSetOption("WinTitleMatchModus", 4)

WinWaitActive("Untitled - Notepad")

WinClose("last") ; Schließt das zuletzt gefundene Fenster

Hinweis: Wenn "classname=", "active", "last" oder "" nicht verwendet werden, dann wird der Titel wie in Modus 1 analysiert. Deshalb ist Modus 4 eigentlich universell nutzbar.

## Fensterhandles / HWNDs

Der Variant-Datentyp in AutoIt unterstützt standardmäßig Fensterhandles (HWNDs). Ein Fensterhandle ist ein spezieller Wert, der jedem Fenster bei seiner Erstellung von Windows zugewiesen wird. Wenn du ein Handle hast, kannst du es in allen Funktionen anstatt der Titel- oder Text-Parameter angeben. Der Vorteil der Handles ist, dass du nurdamit verschiedene - vom Aussehen her identische - Fenster eindeutig unterscheiden kannst. Wenn du ein handle als Titel-Parameter angibst, dann wird der Text-Parameter kopmplett ignoriert.

Verschiedene Funktionen, wie z.B. WinGetHandle, WinList und GUICreate geben die Handles zurück. Es ist wichtig, zu beachten, dass Fensterhandles nicht als Zahlen oder Strings behandelt werden, sondern einen eigenen Datentyp darstellen.

Hinweis: Fensterhandles werden immer funktionieren - unabhängig vom gerade verwendeten WinTitleMatchMode.

Beispiel:

$handle = WinGetHandle("Untitled - Notepad", "")
WinClose($handle)