Un manipulador del tipo "mouse" es un atributo necesario de cualquier computadora. Sin él, es imposible imaginar el control o la navegación a través de aplicaciones. Este manipulador interactúa activamente con el usuario mostrando sus acciones (movimientos, clics, desplazamiento) en la pantalla. Para algunas tareas de programación, es posible que se requiera una emulación de mouse por software.
Es necesario
Entorno de desarrollo Microsoft Visual C ++. Net (no inferior a 2003)
Instrucciones
Paso 1
Instale Microsoft Visual C ++. Net (2003 o posterior). Hay varias versiones de este entorno de desarrollo, de pago y gratuitas. Se pueden descargar del sitio web del desarrollador. Después de la instalación, cree un nuevo proyecto y conecte System. Windows. Forms y System. Drawing como se muestra a continuación: usando System. Windows. Forms; usando System. Drawing;
Paso 2
Para mover el mouse por la pantalla en los sistemas operativos Windows, use las funciones que establecen directamente la posición del cursor en la pantalla. Utilice, por ejemplo, el siguiente código: Cursor. Position = new Point (x, y); Esta línea moverá el cursor a la posición especificada en el constructor de la clase Point (x, y) (donde xey son las coordenadas de la posición donde se debe colocar el cursor) … Si necesita establecer la posición del cursor repetidamente, cree una instancia de la clase Point y use el método para cambiar sus coordenadas. Esto ahorrará memoria: Punto punto = nuevo Punto (0, 0); Cursor. Position = point. Offset (20, 100); Cursor. Position = point. Offset (40, -20); Este código crea un objeto de clase Point () con coordenadas 0, 0. La segunda línea desplaza el punto 20 píxeles en X y 100 píxeles en Y. La coordenada actual apuntada por el objeto de punto es 20, 100. La tercera línea nuevamente ocurre el Punto de Desplazamiento por el número especificado de píxeles (40 y -20, respectivamente). La coordenada actual es 60 (20 + 40) en X y 80 (100-20) en Y.
Paso 3
Utilice las funciones Win32 SendInput () o mouse_event () para emular un clic del mouse. Por ejemplo, para simular programáticamente un clic derecho, use el siguiente código: // import mouse_event (): [DllImport ("User32.dll")] static extern void mouse_event (MouseFlags dwFlags, int dx, int dy, int dwData, UIntPtr dwExtraInfo); // para facilitar el uso, cree una enumeración con las constantes necesarias (banderas) // que definan las acciones del mouse: [Flags] enum MouseFlags {Move = 0x0001, LeftDown = 0x0002, LeftUp = 0x0004, RightDown = 0x0008, RightUp = 0x0010, Absolute = 0x8000}; // use - haga clic en las coordenadas establecidas a continuación: const int x = 39000; // coordenadas por Xconst int y = 12000; // coordina por Ymouse_event (MouseFlags. Absolute | MouseFlags. Move, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absolute | MouseFlags. RightDown, x, y, 0, UIntPtr. Zero); mouse_event (MouseFlags. Absoluto | MouseFlags. RightUp, x, y, 0, UIntPtr. Zero);
Paso 4
Emule un clic del mouse enviando mensajes WM_LBUTTONDOWN y WM_LBUTTONUP usando la función Win API SendMessage (). Por ejemplo, como se muestra a continuación: void OnBtPerformClick (objeto remitente, EventArgs e) {SendMessage (btDemo. Handle, Messages. WM_LBUTTONDOWN, MK_LBUTTON, IntPtr. Zero); SendMessage (btDemo. Handle, Messages. WM_LBUTTONRTONUP;}