Quiero simular el movimiento del mouse cada x segundos. Para eso, usaré un temporizador (x segundos) y cuando el temporizador haga tictac haré el movimiento del mouse.
Pero, ¿cómo puedo hacer que el cursor del mouse se mueva usando C #?
c#
mouse-cursor
aF.
fuente
fuente
Respuestas:
Eche un vistazo a la
Cursor.Position
propiedad . Debería ayudarte a empezar.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); }
fuente
Cursor.Clip
restringirá el movimiento del mouse al tamaño especificado porLocation
ySize
. Entonces, el fragmento de arriba solo permitirá que su mouse se mueva dentro del cuadro delimitador de la aplicación.Cursor.Position
puede requerir una cierta configuración si se usa en una máquina virtual .Primero agregue una clase llamada Win32.cs
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; } } }
Puedes usarlo entonces así:
Win32.POINT p = new Win32.POINT(xPos, yPos); Win32.ClientToScreen(this.Handle, ref p); Win32.SetCursorPos(p.x, p.y);
fuente