ControlClick

Sendet einen Mausklick oder eine Mausradaktion an ein Steuerelement.

ControlClick , Steuerelement-oder-Pos, FensterTitel, FensterText, WelcheTaste, KlicksAnzahl, Optionen, AusnahmeTitel, AusnahmeText

Parameter

Steuerelement-oder-Pos

Wenn leer oder weggelassen, wird das oberste Steuerelement des Zielfensters angeklickt (oder das Zielfenster selbst, wenn es keine Steuerelemente hat). Andernfalls verwenden Sie einen der folgenden Modi.

Modus 1 (Position): Geben Sie die X- und Y-Koordinate relativ zur oberen linken Ecke des Zielfensters an. Die X-Koordinate muss vor der Y-Koordinate stehen und beide müssen durch mindestens ein Leer- oder Tabulatorzeichen voneinander getrennt sein. Zum Beispiel: X55 Y33. Befindet sich auf den angegebenen Koordinaten ein Steuerelement, wird das Klickereignis an dieses Steuerelement weitergeleitet. Wenn dort kein Steuerelement ist, wird das Klickereignis an das Zielfenster selbst gesendet (was je nach Art des Fensters keinen Effekt haben könnte).

Hinweis: Im Modus 1 werden die Optionsbuchstaben X und Y in Optionen ignoriert.

Modus 2 (ClassNN oder Text): Geben Sie entweder die ClassNN-Bezeichnung (Klassenname und Instanznummer des Steuerelements) oder den Namen/Text des Steuerelements an, die beide mit dem internen Tool "Window Spy" ermittelt werden können. Wenn Name/Text verwendet wird, ist das Übereinstimmungsverhalten abhängig von SetTitleMatchMode.

Standardmäßig hat Modus 2 eine höhere Priorität als Modus 1. Sollte zum Beispiel der seltene Fall eintreten, dass ein Steuerelement einen Text oder eine ClassNN-Bezeichnung im Format "Xnnn Ynnn" aufweist, würde Modus 2 in Kraft treten. Um dieses Problem zu umgehen und Modus 1 zu erzwingen, geben Sie wie folgt das Wort Pos in den Optionen an: ControlClick, x255 y152, FensterTitel,,,, Pos.

Um mit dem Fensterhandle (HWND) eines Steuerelements zu arbeiten, lassen Sie diesen Parameter leer und übergeben Sie ahk_id %StrlmntHwnd% als FensterTitel-Parameter (funktioniert auch bei versteckten Steuerelementen, selbst wenn DetectHiddenWindows ausgeschaltet ist). Die HWND-Nummer eines Steuerelements kann üblicherweise via ControlGet Hwnd, MouseGetPos oder DllCall() abgerufen werden.

FensterTitel, FensterText, AusnahmeTitel, AusnahmeText

Wenn jeder dieser Parameter leer ist oder weggelassen wird, wird das Zuletzt Gefundene Fenster verwendet. 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.

WelcheTaste

Wenn leer oder weggelassen, wird standardmäßig Left verwendet (die linke Maustaste). Andernfalls geben Sie die zu klickende Taste oder die Dreh-/Kipprichtung des Mausrads an.

Taste: Left, Right, Middle (oder jeweils nur der erste Buchstabe) oder X1 (vierte Maustaste) oder X2 (fünfte Maustaste).

Mausrad: Geben Sie WheelUp oder WU an, um das Mausrad nach oben zu drehen (von Ihnen weg); geben Sie WheelDown oder WD an, um es nach unten zu drehen (zu Ihnen hin). [v1.0.48+]: Geben Sie WheelLeft (oder WL) oder WheelRight (oder WR) an, um das Mausrad nach links bzw. rechts zu kippen (diese funktionieren aber nicht in Betriebssystemen älter als Windows Vista). KlicksAnzahl ist die Anzahl der Schritte, um die das Mausrad gedreht werden soll.

KlicksAnzahl

Wenn leer oder weggelassen, wird standardmäßig 1 verwendet. Andernfalls geben Sie an, wie oft die Maustaste geklickt oder das Mausrad gedreht werden soll. Kann ein Ausdruck sein.

Optionen

Wenn leer oder weggelassen, besteht jeder Klick aus einem Down- und Up-Ereignis, das in der Mitte des Steuerelements erfolgt (sofern Modus 2 verwendet wird). Andernfalls geben Sie eine Zeichenkette an, die aus einer oder mehreren der folgenden Optionen besteht: Zum Beispiel: d x50 y25.

NA [v1.0.45+]: Kann die Zuverlässigkeit erhöhen. Siehe Zuverlässigkeit weiter unten.

D: Drückt die Maustaste nach unten, ohne sie wieder loszulassen (also ein Down-Ereignis). Fehlt sowohl die D- als auch U-Option, wird ein vollständiger Mausklick gesendet (also ein Down- und Up-Ereignis).

U: Lässt die Maustaste los (also ein Up-Ereignis). Diese Option sollte nicht verwendet werden, wenn die D-Option bereits vorhanden ist (und umgekehrt).

Pos: Geben Sie das Wort Pos in Optionen an, um den X/Y-Positioniermodus zu erzwingen, wie oben im Steuerelement-oder-Pos-Parameter beschrieben.

Xn: Geben Sie für n die X-Position an, auf der geklickt werden soll, relativ zur oberen linken Ecke des Steuerelements. Wenn weggelassen, erfolgt der Mausklick in der horizontalen Mitte des Steuerelements.

Yn: Geben Sie für n die Y-Position an, auf der geklickt werden soll, relativ zur oberen linken Ecke des Steuerelements. Wenn weggelassen, erfolgt der Mausklick in der vertikalen Mitte des Steuerelements.

Verwenden Sie dezimale (nicht hexadezimale) Zahlen für die Optionen X und Y.

Fehlerbehandlung

[v1.1.04+]: Dieser Befehl ist in der Lage, bei Misserfolg eine Ausnahme auszulösen. Weitere Informationen finden Sie unter Laufzeitfehler.

ErrorLevel wird bei Misserfolg auf 1 und bei Erfolg auf 0 gesetzt.

Zuverlässigkeit

Um die Zuverlässigkeit zu erhöhen - insbesondere dann, wenn der Benutzer die Maus während eines ControlClicks physisch bewegt - kann eine oder beide der folgenden Maßnahmen helfen:

1) Verwenden Sie SetControlDelay -1 vor ControlClick. Dadurch wird verhindert, dass die Maustaste während des Klicks gedrückt gehalten wird, was wiederum Störungen durch physische Mausbewegungen reduziert.

2) Geben Sie die Zeichenkette NA im sechsten Parameter (Optionen) wie unten gezeigt an:

SetControlDelay -1
ControlClick, Toolbar321, FensterTitel,,,, NA

Die NA-Option verhindert einerseits, dass das Zielfenster als aktiv markiert wird, und andererseits, dass die Eingabeverarbeitung des Fensters und des Skripts vermischt werden, was eventuelle Störungen durch physische Mausbewegungen unterdrückt (aber normalerweise nur, wenn das Zielfenster nicht aktiv ist). Diese Methode funktioniert möglicherweise nicht für alle Arten von Fenstern und Steuerelementen.

Bemerkungen

Einige Anwendungen ignorieren eine KlicksAnzahl höher als 1 beim Drehen des Mausrads. Für solche Anwendungen können Sie eine Schleife nutzen, um das Mausrad mehr als einen Schritt zu drehen. Das folgende Beispiel dreht das Mausrad fünf Schritte:

Loop, 5
    ControlClick, Steuerelement, FensterTitel, FensterText, WheelUp

SetControlDelay, Control, ControlGet, ControlGetText, ControlMove, ControlGetPos, ControlFocus, ControlSetText, ControlSend, Click

Beispiele

Klickt die OK-Schaltfläche.

ControlClick, OK, Beliebiger Fenstertitel

Klickt auf bestimmte Koordinaten. Beachten Sie, dass zwischen X und Y kein Komma steht.

ControlClick, x55 y77, Beliebiger Fenstertitel

Klickt im NA-Modus auf Koordinaten relativ zum angegebenen Steuerelement.

SetControlDelay -1  ; Kann Zuverlässigkeit erhöhen und Nebeneffekte reduzieren.
ControlClick, Toolbar321, Beliebiger Fenstertitel,,,, NA x192 y10