usar saber pantalla obtener las juegos descargar coordenadas como autokey cocoa mouse position

cocoa - saber - Cacao: obteniendo la posición actual del mouse en la pantalla.



obtener coordenadas de pantalla (5)

El código original del autor no funciona porque está intentando imprimir flotantes como% d. El código correcto sería:

NSPoint mouseLoc = [NSEvent mouseLocation]; //get current mouse position NSLog(@"Mouse location: %f %f", mouseLoc.x, mouseLoc.y);

No necesitas ir a Carbon para hacer esto.

Necesito obtener la posición del mouse en la pantalla de una Mac con Xcode. Tengo un código que supuestamente hace eso, pero siempre devuelve xey como 0:

void queryPointer() { NSPoint mouseLoc; mouseLoc = [NSEvent mouseLocation]; //get current mouse position NSLog(@"Mouse location:"); NSLog(@"x = %d", mouseLoc.x); NSLog(@"y = %d", mouseLoc.y); }

¿Qué estoy haciendo mal? ¿Cómo se obtiene la posición actual en la pantalla? Además, en última instancia, esa posición (guardada en un NSPoint) debe copiarse en un CGPoint para ser utilizada con otra función, así que necesito obtener esto como coordenadas x, y o traducirlo.


La respuesta a esta pregunta en Swift.

let currentMouseLocation = NSEvent.mouseLocation() let xPosition = currentMouseLocation.x let yPosition = currentMouseLocation.y


Tenga cuidado al mezclar el entorno NS con el entorno CG. Si obtiene la ubicación del mouse con el método de ubicación del mouse NS, use CGWarpMouseCursorPosition (cgPoint), no se le enviará al punto en la pantalla que esperaba. El problema se debe a que CG usa la parte superior izquierda como (0,0), mientras que NS usa la parte inferior izquierda como (0,0).


CGEventRef ourEvent = CGEventCreate(NULL); point = CGEventGetLocation(ourEvent); CFRelease(ourEvent); NSLog(@"Location? x= %f, y = %f", (float)point.x, (float)point.y);


NSLog(@"%@", NSStringFromPoint(point));

NSLog es cierto;