MouseMove

Verschiebt den Mauszeiger.

MouseMove, X, Y , Geschw, Relativ

Parameter

X, Y

Die X- und Y-Koordinate der Position, auf die der Mauszeiger bewegt werden soll. Diese Parameter können Ausdrücke sein. Standardmäßig sind Koordinaten relativ zum aktiven Fenster, was aber mit CoordMode geändert werden kann.

Geschw

Wie schnell der Mauszeiger bewegt werden soll, von 0 (schnell) bis 100 (langsam). Dieser Parameter kann ein Ausdruck sein.

Hinweis: Eine Geschwindigkeit von 0 bewegt den Mauszeiger sofort auf die neue Position.

Lässt man diesen Parameter weg, wird die Standardgeschwindigkeit verwendet (die via SetDefaultMouseSpeed definiert ist oder standardmäßig 2).

Geschw wird bei den Modi SendInput und SendPlay ignoriert; sie positionieren den Mauszeiger sofort auf die neuen Koordinaten (allerdings hat SetMouseDelay einen Modus, der für SendPlay verwendet werden kann). Um den Mauszeiger visuell langsamer zu bewegen (z. B. um einem Publikum etwas vorzuführen), verwenden Sie SendEvent {Click 100 200} oder SendMode Event (optional in Verbindung mit BlockInput).

Relativ

Lässt man diesen Parameter weg, werden die X- und Y-Koordinate als absolute Werte behandelt. Um dieses Verhalten zu ändern, geben Sie den folgenden Buchstaben an:

R: Die X- und Y-Koordinate werden als Offsets von der aktuellen Mausposition behandelt. Das heißt, dass der Zeiger von seiner aktuellen Position um X Pixel nach rechts (nach links, wenn negativ) und um Y Pixel nach unten (nach oben, wenn negativ) verschoben wird.

Bemerkungen

Dieser Befehl verwendet den via SendMode gesetzten Send-Modus.

Der SendPlay-Modus ist im Gegensatz zu den anderen Modi erfolgreicher darin, Mausereignisse in Videospielen zu erzeugen. Beachten Sie außerdem, dass einige Anwendungen und Videospiele eventuell Schwierigkeiten haben, den Mauszeiger zu folgen, wenn er zu schnell bewegt wird. Mit dem Geschw-Parameter oder SetDefaultMouseSpeed kann die Geschwindigkeit reduziert werden (nur im voreingestellten SendEvent-Modus).

Der BlockInput-Befehl kann genutzt werden, um zu verhindern, dass physische Mausaktivitäten des Benutzers die künstlich erzeugten Mausereignisse stören. Allerdings ist das bei den Modi SendInput und SendPlay nicht notwendig, weil sie die physischen Mausaktivitäten des Benutzers automatisch nach hinten verschieben.

Nach jeder Mausbewegung erfolgt eine Verzögerung (außer beim SendInput-Modus). Mit SetMouseDelay kann die Verzögerungsdauer geändert werden.

Das folgende Beispiel zeigt eine alternative Methode zum Verschieben des Mauszeigers, die bei bestimmten Multi-Bildschirm-Konfigurationen besser funktionieren könnte:

DllCall("SetCursorPos", "int", 100, "int", 400)  ; Die erste Nummer ist X und die zweite Y (relativ zum Bildschirm).

Beachten Sie zudem, dass der Mauszeiger vorübergehend versteckt werden kann - siehe dazu das DllCall-Beispiel.

CoordMode, SendMode, SetDefaultMouseSpeed, SetMouseDelay, Click, MouseClick, MouseClickDrag, MouseGetPos, BlockInput

Beispiele

Verschiebt den Mauszeiger auf eine neue Position.

MouseMove, 200, 100

Verschiebt den Mauszeiger langsam (Geschwindigkeit 50 statt 2) um 20 Pixel nach rechts und 30 Pixel nach unten.

MouseMove, 20, 30, 50, R