Me gustaría mover y hacer clic en el mouse mediante programación usando la API de Windows en C. He buscado en google alto y bajo y no puedo encontrar ningún tutorial de SendInput para C. Todo lo que puedo encontrar es C#/C++. Tengo poca experiencia con la API de Windows y me encantaría un excelente tutorial que cubra sendInput. ¡Gracias!usando el mouse con sendInput en C
Respuesta
Hans Passant tenía razón con el código de C++ era casi idéntico. Esto es lo que terminé con:
INPUT input;
input.type = INPUT_MOUSE;
input.mi.mouseData = 0;
input.mi.dx = x * (65536/GetSystemMetrics(SM_CXSCREEN)); //x being coord in pixels
input.mi.dy = y * (65536/GetSystemMetrics(SM_CYSCREEN)); //y being coord in pixels
input.mi.dwFlags = MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE;
SendInput(1, &input, sizeof(input));
Una cosa muy importante que debe tener en cuenta es que debe forzar 65536 a una flotación, de lo contrario, la conversión del tamaño de la pantalla estará desactivada en varios píxeles. 65536.0f para una mejor precisión. –
@ Error454 ¿Sabes por qué dx y dy deben tener ese extraño formato para un movimiento absoluto? El movimiento relativo, por otro lado, necesita que dx y dy sean recuento de píxeles puro. – Bitterblue
@ mini-me De la manera en que msft decidió hacer las cosas. Su sistema de coordenadas es (0,0) para arriba a la izquierda y (65535,65535) para abajo a la derecha. –
- 1. SendInput no realiza clic en el botón del mouse a menos que mueva el cursor
- 2. SendInput() Letras del teclado C/C++
- 3. SendInput falla en 64 bits
- 4. SendInput y 64bits
- 5. Cómo mover (o hacer cualquier cosa con) el mouse
- 6. ¿Cómo mover el cursor del mouse usando C#?
- 7. SendInput() para el teclado - solamente con una letra minúscula
- 8. Teclado simulando con SendInput API en aplicaciones DirectInput
- 9. Cómo mover div con el mouse usando jquery?
- 10. Hacer el mouse con el ícono ocupado (C#)
- 11. Distinga entre hacer doble clic con el mouse y hacer clic con el mouse en wpf
- 12. Haciendo clic en el mouse enviando mensajes
- 13. Simular golpe con el mouse en javascript
- 14. Usando Mono para hacer clic en el mouse en C# - Mac OS
- 15. ¿Cómo controlar el mouse en Mac usando Python?
- 16. ¿Cómo puedo generar un evento de mouse en WPF/C# con coordenadas específicas?
- 17. C# moviendo el mouse de forma realista
- 18. cambiar el buffer del mouse con java
- 19. Entrada de teclado/mouse en C++
- 20. ¿Activar caja de fantasía con el mouse sobre el mouse en lugar de hacer clic?
- 21. java mover componentes con el mouse
- 22. C# XNA Posición del mouse
- 23. Seleccione un área para capturar usando el mouse
- 24. Mover el mouse
- 25. Enviar claves a través de SendInput en user32.dll
- 26. QMainWindow no rastrea el mouse con setMouseTracking()
- 27. Ocultando el cursor del mouse con glfw
- 28. Detección de compatibilidad con el mouse
- 29. Desplazamiento DataGridView con mouse
- 30. Problema con onClick() y botón central en el mouse
La versión de C++ será apropiada, esto no es diferente ya que Winapi está basado en C. –
¡Debe dejar eso como respuesta para que pueda marcarlo como correcto! : p –
simplemente puede aceptar su respuesta, ¡no creo que Hans necesite el representante! –