Ich möchte alle x Sekunden eine Mausbewegung simulieren. Dafür verwende ich einen Timer (x Sekunden) und wenn der Timer tickt, mache ich die Mausbewegung.
Aber wie kann ich den Mauszeiger mit C # bewegen?
c#
mouse-cursor
aF.
quelle
quelle
Antworten:
Schauen Sie sich die
Cursor.Position
Immobilie an . Es sollte Ihnen den Einstieg erleichtern.private void MoveCursor() { // Set the Current cursor, move the cursor's Position, // and set its clipping rectangle to the form. this.Cursor = new Cursor(Cursor.Current.Handle); Cursor.Position = new Point(Cursor.Position.X - 50, Cursor.Position.Y - 50); Cursor.Clip = new Rectangle(this.Location, this.Size); }
quelle
Cursor.Clip
beschränkt die Bewegung Ihrer Maus auf die durchLocation
und angegebene GrößeSize
. Mit dem obigen Snippet kann sich Ihre Maus also nur innerhalb des Begrenzungsrahmens der Anwendung bewegen.Cursor.Position
Möglicherweise ist eine bestimmte Einstellung erforderlich, wenn sie in einer virtuellen Maschine verwendet wird .Fügen Sie zuerst eine Klasse mit dem Namen Win32.cs hinzu
public class Win32 { [DllImport("User32.Dll")] public static extern long SetCursorPos(int x, int y); [DllImport("User32.Dll")] public static extern bool ClientToScreen(IntPtr hWnd, ref POINT point); [StructLayout(LayoutKind.Sequential)] public struct POINT { public int x; public int y; public POINT(int X, int Y) { x = X; y = Y; } } }
Sie können es dann so verwenden:
Win32.POINT p = new Win32.POINT(xPos, yPos); Win32.ClientToScreen(this.Handle, ref p); Win32.SetCursorPos(p.x, p.y);
quelle