Estoy escribiendo una aplicación para Mac OS X 10.6 y posterior en C++. Una parte de la aplicación necesita simular el movimiento del mouse y clics del mouse. Hago esto actualmente publicando objetos CGEvent
usando CGEventPost(kCGHIDEventTap, event);
.Simular clics del mouse en Mac OS X no funciona para algunas aplicaciones
Esto funciona, en su mayor parte, puedo simular el movimiento del mouse y clics muy bien, pero parece fallar en algunas áreas. Por ejemplo:
- En Mozilla Firefox y Safari, puedo hacer clic en todos los menús, pero no puedo hacer clic en un enlace dentro de un sitio web. Cuando intento, el enlace se resalta, pero el navegador nunca sigue el enlace. Sin embargo, puedo hacer clic derecho en un enlace, seleccionar "abrir enlace en una pestaña nueva" y todo funciona como se espera. Resuelto - crear el evento del mouse usando
CGEventCreateMouseEvent(...)
hace que el evento funcione dentro del navegador web. - Puedo hacer clic en el icono "Tablero" para abrir el panel, pero no puedo hacer clic en el botón "i" en ninguno de los widgets del tablero. Del mismo modo, al hacer clic en cualquiera de los resultados de búsqueda del widget de búsqueda de Spotlight tampoco funciona.
Esta incoherencia se encuentra a lo largo de los límites de la aplicación. ¿Cuál podría ser la causa?
¡Brillante! Eso lo resolvió perfectamente. ¡Muchas gracias! – Thomi