2009-09-27 12 views
5

Ho utilizzato CGPostMouseEvent() per eseguire clic del mouse da mac os 10.4.Sostituzione CGPostMouseEvent su Snow Leopard

Mentre lavoro sul mio codice e cerco di renderlo compatibile al 100% con Snow Leopard, XCode sputa un avvertimento dicendo che CGPostMouseEvent() è deprecato. Anche se questo non mi spaventa, mi piacerebbe sapere cosa sostituisce CGPostMouseEvent(). Questo è come lo uso:

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

Questo è tutto.

Qualche idea?

Grazie!

risposta

11

CGEventCreateMouseEvent può essere utilizzato con CGEventPost in modo non deprecato. Il riferimento è here.


Modifica dal OP:

qualcosa di simile?

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

qualcosa di simile: vuoto PostMouseEvent (pulsante CGMouseButton, tipo CGEventType, const CGPoint punto) { CGEventRef theevent = CGEventCreateMouseEvent (NULL, tipo, punto, il pulsante); CGEventSetType (theEvent, type); CGEventPost (kCGHIDEventTap, theEvent); CFRelease (theEvent); } – Uri

+0

oops, mi spiace per la scarsa formattazione – Uri

+0

A prima vista sembra giusto. – phoebus