Fenstertitel und -text (Grundlagen)

Beim Automatisieren durch Skripte können die meisten Fenster eindeutig über ihren Titel oder einer Kombination aus Titel & Text identifiziert werden. Und diese Informationen sind beim Einsatz des AutoIt Window Info Tools (oder einfach durch Sehen) leicht zu erhalten. Die Titel der meisten Fenster sind sehr offensichtlich, z.B. ist Unbenannt - Editor der Titel vom Texteditorprogramm "Notepad.exe", und in vielen Fällen ist dies auch schon genug für eine Automation.

 

Hinweis: Wird ein Leerstring "" sowohl für Titel als auch für Text angegeben, dann wird das momentan aktive Fenster verwendet! (Dies trifft allerdings nicht für einige der weiter fortgeschrittenen WinTitleMatchModes zu.)

 

Fenstertitel und -text sind "case sensitive", d.h. man muss exakt sowohl Groß-/Kleinschreibung als auch die Interpunktion beachten. Um Probleme hierbei zu vermeiden, wählt man den Titel und Text im Window Info Tool, kopiert sie mit Ctrl-c in die Zwischenablage und fügt sie dann direkt in das eigene Skript ein.
Mit den fortgeschrittenen Modi kann man Übereinstimmung z.B. in Kleinschreibung erzwingen.

 

Die meisten der AutoIt Fensterfunktionen bieten die Möglichkeit für Titel- und Texteinträge, wie z.B. in der Funktion WinWaitActive. Diese Funktion pausiert die Skriptausführung solange, bis das angegebene Fenster erscheint und aktiv ist.

WinWaitActive ( "title" [, "text" [, timeout]] )

 

 

Der einzig benötigte Parameter für diese Funktion ist Titel. Jedoch gibt es noch die optionalen Parameter Text und Timeout. In einigen Funktionen ist der Text Parameter nicht optional. Falls man allerdings keinen Text angeben möchte, schreibt man einfach "" (einen Leerstring). Ein Leerstring, oder gar nichts, im Text teilt AutoIt mit, dass jeder Text gültig ist.

 

Um die Funktion mit jedem beliebigen Editor-Fenster zu benutzen, würden beide der folgenden Methoden funktionieren:

@@SyntaxHighlighting@@ WinWaitActive("Unbenannt - Editor") @@End@@

und

@@SyntaxHighlighting@@ WinWaitActive("Unbenannt - Editor", "") @@End@@

 

Sollte das gleiche Editor-Fenster den Text "Dies ist etwas Text!" in seinem Fenster geschrieben haben, würde das Window Info Tool Folgendes zeigen:

 

 

Zu beachten ist, dass das Window Info Tool den Titel und Text des Editor-Fensters gesehen hat. Was immer das Window Info Tool sehen kann, kann auch AutoIt sehen. Wir haben jetzt genug Informationen, um genau dieses Fenster zu identifizieren, selbst wenn eine ganze Menge weiterer Editor-Fenster geöffnet sind. In diesem Fall schreibt man also:

 

@@SyntaxHighlighting@@ WinWaitActive("Unbenannt - Editor", "Dies ist etwas Text!") @@End@@

 

Fenstertext

Der Fenstertext besteht aus allem Text, den AutoIt "sehen" kann. Das sind normalerweise Sachen wie der Inhalt von Eingabe-Controls (siehe oben: "Dies ist etwas Text!"), beinhaltet aber auch anderen Text wie z.B.:

Der springende Punkt ist, dass man den Text zusammen mit dem Titel benutzen kann, um das zu bearbeitende Fenster eindeutig identifizieren zu können.

Gibt man den Text Parameter in einer Fensterfunktion an, so wird er als "subString" behandelt. Wenn man beim obigen Beispiel also den Text "ist eine " benutzt, erhält man eine Übereinstimmung.

 

Was hier beschrieben wurde, ist der Standard Mode, in dem AutoIt arbeitet. Es gibt eine Menge weiterer fortgeschrittener Modi, die benutzt werden können, wenn die Dinge mal nicht so einfach sein sollten.

 

Es ist folgendes zu beachten: Versteckte Fenster können nur durch den "title" gefunden werden, wenn "text" leer ist ("").