Sendet einen Maustastenklick oder eine Mausradaktion an ein Steuerelement.
ControlClick , Steuerelement-oder-Pos, FensterTitel, FensterText, WelcheTaste, KlicksAnzahl, Optionen, IgnoriereTitel, IgnoriereText
Wenn dieser Parameter leer ist, wird das oberste Steuerelement des Zielfensters angeklickt (oder das Zielfenster selbst, wenn es keine Steuerelemente hat). Ansonsten wird einer der unteren Modi angewendet.
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, außerdem müssen sie mit mindestens einem Leer- oder Tabulatorzeichen voneinander getrennt werden. Zum Beispiel: X55 Y33
. Befindet sich auf den angegebenen Koordinaten ein Steuerelement, wird das Klickereignis zu diesem Steuerelement weitergeleitet. Wenn dort kein Steuerelement zu finden ist, wird das Klickereignis an das Zielfenster selbst gesendet (das je nach Art des Fensters eventuell keinen Effekt hat).
Hinweis: In 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. Verwendet man den Namen/Text, 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 ein Steuerelement via HWND-Nummer (eindeutige ID) anzusteuern, muss dieser Parameter leer gelassen und ahk_id %SteuerelementHwnd%
als FensterTitel-Parameter übergeben werden (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.
Der Titel oder andere Möglichkeiten zum Identifizieren des Zielfensters. Weitere Informationen finden Sie unter FensterTitel-Parameter.
Eine Zeichenkette, die in einem der Textelemente des Zielfensters enthalten ist (eventuell vorhandene Textelemente können mit dem internen Tool Window Spy aufgedeckt werden). Versteckte Textelemente werden nur erkannt, wenn DetectHiddenText eingeschaltet ist.
Die zu klickende Taste: LEFT, RIGHT, MIDDLE (oder jeweils nur der erste Buchstabe). Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig LEFT (linke Maustaste) verwendet.
X1 (XButton1, die 4. Maustaste) und X2 (XButton2, die 5. Maustaste) werden ebenfalls unterstützt.
WheelUp (oder WU) und WheelDown (oder WD) werden ebenfalls unterstützt. In diesem Fall bestimmt KlicksAnzahl, wie häufig das Mausrad stufenweise gedreht werden soll.
Windows Vista oder höher [v1.0.48+]: WheelLeft (WL) und WheelRight (WR) werden ebenfalls unterstützt (funktioniert nicht in älteren Betriebssystemen). In diesem Fall bestimmt KlicksAnzahl, wie häufig das Mausrad stufenweise gedreht werden soll.
Die Anzahl der Mausklicks, die gesendet werden sollen. Kann ein Ausdruck sein. Wenn dieser Parameter weggelassen wird oder leer ist, wird standardmäßig 1 verwendet.
Eine Zeichenkette, die aus folgenden Optionsbuchstaben besteht. Zum Beispiel: d x50 y25
.
NA [v1.0.45+]: Kann die Zuverlässigkeit verbessern. Siehe Zuverlässigkeit weiter unten.
D: Drückt die Maustaste nach unten, aber lässt sie nicht mehr los (also nur 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 nur ein Up-Ereignis). Diese Option sollte nicht verwendet werden, wenn die D-Option bereits vorhanden ist (und umgekehrt).
Pos: Fügen Sie das Wort Pos in den Optionen ein, um den X/Y-Positionierungsmodus des Steuerelement-oder-Pos-Parameters zu erzwingen.
Xn: Geben Sie für n die zu klickende X-Position relativ zur oberen linken Ecke des Steuerelements an. Wenn diese Option nicht angegeben ist, erfolgt der Mausklick in der horizontalen Mitte des Steuerelements.
Yn: Geben Sie für n die zu klickende Y-Position relativ zur oberen linken Ecke des Steuerelements an. Wenn diese Option nicht angegeben ist, erfolgt der Mausklick in der vertikalen Mitte des Steuerelements.
Verwenden Sie dezimale (nicht hexadezimale) Zahlen für die Optionen X und Y.
Alle Fenster, die diesen Wert in ihren Titeln enthalten, werden ignoriert.
Alle Fenster, die diesen Wert in ihren Textelementen enthalten, werden ignoriert.
[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.
Um die Zuverlässigkeit von ControlClick zu verbessern -- besonders in Situationen, wo man währenddessen den Mauszeiger physisch bewegt -- können folgende Punkte eventuell weiterhelfen:
1) Benutzen Sie SetControlDelay -1
vor ControlClick. Dadurch wird verhindert, dass die Maustaste während des Klicks gedrückt gehalten wird, um wiederum Störungen durch physische Mausbewegungen zu reduzieren.
2) Geben Sie die Zeichenkette NA im sechsten Parameter (Optionen) wie unten gezeigt an:
SetControlDelay -1 ControlClick, Toolbar321, FensterTitel,,,, NA
NA
verhindert nicht nur, dass das Zielfenster als aktiv markiert wird, sondern auch, dass die Eingabeverarbeitung des Fensters und des Skripts vermischt werden, um eventuelle Störungen durch physische Mausbewegungen zu unterdrücken (aber normalerweise nur, wenn das Zielfenster nicht aktiv ist). Diese Methode funktioniert eventuell nicht bei allen Typen von Fenstern und Steuerelementen.
Einige Anwendungen ignorieren eine KlicksAnzahl höher als 1 in Bezug auf das Mausrad. Für solche Anwendungen können Sie eine Schleife nutzen, um die Anzahl zu erhöhen, wie häufig das Mausrad stufenweise gedreht werden soll. Das folgende Beispiel dreht das Mausrad fünfmal:
Loop, 5 ControlClick, Steuerelement, FensterTitel, FensterText, WheelUp
Fenstertitel und -texte sind Groß-/Kleinschreibung-sensitiv. Versteckte Fenster werden nur erkannt, wenn DetectHiddenWindows eingeschaltet ist.
SetControlDelay, Control, ControlGet, ControlGetText, ControlMove, ControlGetPos, ControlFocus, ControlSetText, ControlSend, Click