MouseMove

Bewegt den Mauszeiger.

MouseMove X, Y , Geschw, Relativ

Parameter

X, Y

Typ: Integer

Die X- und Y-Koordinate der Position, auf die der Mauszeiger bewegt werden soll. Standardmäßig sind Koordinaten relativ zum Clientbereich des aktiven Fensters, was aber mit CoordMode geändert werden kann.

Geschw

Typ: Integer

Wenn weggelassen, wird die Standardgeschwindigkeit verwendet (definiert durch SetDefaultMouseSpeed oder standardmäßig 2). Andernfalls geben Sie an, wie schnell der Mauszeiger bewegt werden soll, von 0 (schnell) bis 100 (langsam). Eine Geschwindigkeit von 0 bewegt den Mauszeiger sofort auf die neue Position.

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

Typ: Zeichenkette

Wenn leer oder weggelassen, werden die X- und Y-Koordinate für die absolute Positionierung verwendet. Andernfalls geben Sie den folgenden Buchstaben an:

R: Die X- und Y-Koordinate werden als Offsets von der aktuellen Mausposition behandelt. Mit anderen Worten, der Mauszeiger wird von seiner aktuellen Position aus um X Pixel nach rechts (nach links, wenn negativ) und um Y Pixel nach unten (nach oben, wenn negativ) bewegt.

Bemerkungen

Diese Funktion verwendet den via SendMode gesetzten Send-Modus.

Der SendPlay-Modus ist im Gegensatz zu den anderen Modi erfolgreicher darin, Mausereignisse in Videospielen zu erzeugen. Außerdem können einige Anwendungen und Videospiele Schwierigkeiten haben, dem Mauszeiger zu folgen, wenn er zu schnell bewegt wird. Mit dem Geschw-Parameter oder SetDefaultMouseSpeed kann die Geschwindigkeit reduziert werden (nur im standardmäßig aktiven SendEvent-Modus).

Die BlockInput-Funktion kann verwendet 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 hinauszögern.

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

Das folgende Beispiel zeigt eine alternative Methode zum Bewegen des Mauszeigers, die bei bestimmten Multi-Bildschirm-Konfigurationen besser funktionieren kann:

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

Es ist auch möglich, den Mauszeiger vorübergehend zu verstecken - siehe dazu das DllCall-Beispiel.

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

Beispiele

Bewegt den Mauszeiger auf eine neue Position.

MouseMove 200, 100

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

MouseMove 20, 30, 50, "R"