2009-09-27 14 views
5

He estado usando CGPostMouseEvent() para realizar clics del mouse desde mac os 10.4.CGPostMouseEvent reemplazo en Snow Leopard

Mientras trabajaba en mi código y trataba de hacerlo 100% compatible con Snow Leopard, XCode escupe una advertencia diciendo que CGPostMouseEvent() está en desuso. Si bien esto no me asusta, me gustaría saber qué reemplaza a CGPostMouseEvent(). Esta es la forma en que lo uso:

CGPostMouseEvent(point,FALSE,1,TRUE); // mouse down 
CGPostMouseEvent(point,FALSE,1,FALSE); // mouse up 

eso es todo.

¿Alguna idea?

Gracias!

Respuesta

11

CGEventCreateMouseEvent se puede utilizar con CGEventPost de una manera no obsoleta. La referencia es here.


Editar en OP:

Algo como esto?

void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point) 
{ 
    CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button); 
    CGEventSetType(theEvent, type); 
    CGEventPost(kCGHIDEventTap, theEvent); 
    CFRelease(theEvent); 
} 
+0

algo como esto: vacío PostMouseEvent (botón CGMouseButton, tipo CGEventType, const punto CGPoint) { CGEventRef TheEvent = CGEventCreateMouseEvent (NULL, el tipo, el punto, el botón); CGEventSetType (theEvent, type); CGEventPost (kCGHIDEventTap, theEvent); CFRelease (theEvent); } – Uri

+0

Vaya, disculpe por el formato incorrecto – Uri

+0

A primera vista parece correcto. – phoebus

Cuestiones relacionadas