SetTitleMatchMode

Bestimmt das Übereinstimmungsverhalten des FensterTitel-Parameters von internen Funktionen wie WinWait.

SetTitleMatchMode MatchModus
SetTitleMatchMode Geschw

Parameter

MatchModus

Typ: Integer oder Zeichenkette

Geben Sie einen der folgenden Werte an:

1: Der Titel eines Fensters muss mit dem angegebenen FensterTitel beginnen, um eine Übereinstimmung zu sein.

2: Standardverhalten. Der Titel eines Fensters kann den angegebenen FensterTitel an beliebiger Stelle enthalten, um eine Übereinstimmung zu sein.

3: Der Titel eines Fensters muss genau mit dem angegebenen FensterTitel übereinstimmen, um eine Übereinstimmung zu sein.

RegEx: Erlaubt reguläre Ausdrücke in FensterTitel, FensterText, AusnahmeTitel und AusnahmeText, z.B. WinActivate Unbenannt.*Editor. RegEx gilt auch für ahk_class und ahk_exe, z.B. würde "ahk_class IEFrame" nach einem Fenster suchen, dessen Klassenname irgendwo IEFrame enthält (weil reguläre Ausdrücke überall in der Zeichenkette eine Übereinstimmung finden können). Jede Komponente in FensterTitel muss separat behandelt werden, z.B. sind in "i)^unbenannt ahk_class i)^editor$ ahk_pid " meinepid die Komponenten i)^unbenannt und i)^editor$ separate RegEx-Suchmuster, während meinepid immer numerisch verglichen wird (es ist kein RegEx-Suchmuster). Im Falle von FensterText wird jedes Textelement (also der Text jedes Steuerelements) separat mit dem RegEx abgeglichen, folglich ist eine Übereinstimmung mit mehr als einem Textelement nicht möglich.

Die obigen Modi haben auf AusnahmeTitel dieselbe Wirkung wie auf FensterTitel. Zum Beispiel erfordert Modus 3, dass der Titel eines Fensters genau mit AusnahmeTitel übereinstimmt, damit dieses Fenster ignoriert wird.

Von den Modi hat nur der RegEx-Modus einen Effekt auf die Nicht-Titel-Fensterübereinstimmungskriterien ahk_class und ahk_exe. Diese Übereinstimmungskriterien funktionieren in jedem der nummerierten Modi identisch.

Geschw

Typ: Zeichenkette

Geben Sie eines der folgenden Wörter an, um zu bestimmen, wie die Parameter FensterText und AusnahmeText behandelt werden sollen:

Fast: Standardverhalten. Erzielt oft eine bessere Performanz als der langsame Modus, aber bestimmte Arten von Steuerelementen werden nicht erkannt. Zum Beispiel wird der Text in Static- und Button-Steuerelementen üblicherweise erkannt, aber nicht in Edit-Steuerelementen, es sei denn, sie gehören zum Skript.

Slow: Kann deutlich langsamer sein, funktioniert aber für alle Steuerelemente, die auf die WM_GETTEXT-Meldung reagieren.

Rückgabewert

Typ: Integer oder Zeichenkette

Diese Funktion gibt den vorherigen Wert der Einstellung zurück, die geändert wurde (entweder A_TitleMatchMode oder A_TitleMatchModeSpeed).

Bemerkungen

Wenn SetTitleMatchMode nicht verwendet wird, ist der Übereinstimmungsmodus standardmäßig 2 und die Geschwindigkeit standardmäßig schnell.

Diese Funktion beeinflusst das Verhalten von allen fensterspezifischen Funktionen, z.B. WinExist und WinActivate. WinGetText und ControlGetText werden auf die gleiche Weise beeinflusst, verwenden aber immer den langsamen Modus zum Abrufen von Text.

Wenn eine Fenstergruppe verwendet wird, gilt der aktuelle Titelübereinstimmungsmodus für jede einzelne Regel in der Gruppe.

Generell sollte der langsame Modus nur dann verwendet werden, wenn das Zielfenster nicht eindeutig durch seinen Titel oder den im schnellen Modus ermittelten Text identifiziert werden kann. Der Grund dafür ist, dass der langsame Modus extrem langsam sein kann, wenn es Anwendungsfenster gibt, die beschäftigt sind oder "nicht reagieren".

Window Spy verfügt über die Option Slow TitleMatchMode, mit der leicht festgestellt werden kann, ob der langsame Modus erforderlich ist.

Wenn Sie beide Attribute ändern möchten, führen Sie die Funktion zweimal aus. Zum Beispiel:

SetTitleMatchMode 2
SetTitleMatchMode "Slow"

Die internen Variablen A_TitleMatchMode und A_TitleMatchModeSpeed enthalten die aktuellen Einstellungen.

Egal welcher Übereinstimmungsmodus verwendet wird, FensterTitel, FensterText, AusnahmeTitel und AusnahmeText sind immer Groß-/Kleinschreibung-sensitiv. Die einzige Ausnahme ist die i-Option (nicht Groß-/Kleinschreibung-sensitiv) des RegEx-Modus, z.B. "i)unbenannt - editor".

Jeder neue Thread (z.B. ein Hotkey, ein benutzerdefinierter Menüpunkt oder eine zeitgesteuerte Subroutine) verwendet zunächst die Standardeinstellung der Funktion. Diese Standardeinstellung kann geändert werden, indem die Funktion während der Startphase des Skripts verwendet wird.

FensterTitel-Parameter, SetWinDelay, WinExist, WinActivate, RegExMatch

Beispiele

Zwingt fensterspezifische Funktionen, mit Fenstern zu arbeiten, deren Titel FensterTitel am Anfang und nicht an beliebiger Stelle enthalten.

SetTitleMatchMode 1

Erlaubt fensterspezifischen Funktionen, eventuell mehr Steuerelemente zu erkennen, aber auf Kosten der Performanz. Beachten Sie, dass Slow/Fast unabhängig von den anderen Modi gesetzt werden kann.

SetTitleMatchMode "Slow"

Verwenden Sie den RegEx-Modus, um auf einfache Weise mehrere Fenster auszuschließen. Ersetzen Sie die folgenden AusnahmeTitel mit echten Fenstertiteln, die nicht mitgezählt werden sollen.

SetTitleMatchMode "RegEx"
AnzahlAlle := WinGetCount()
AnzahlAusnahme := WinGetCount(,, "AusnahmeTitel1|AusnahmeTitel2")
MsgBox AnzahlAusnahme " von " AnzahlAlle " Fenstern wurden gezählt"