2009-09-27 14 views
5

Używam CGPostMouseEvent() do wykonywania kliknięć myszą od wersji 10.4.Wymiana CGPostMouseEvent na systemie Snow Leopard

Podczas pracy nad moim kodem i próbą uczynienia go w 100% kompatybilnym z Snow Leopard, XCode wypluwa ostrzeżenie, że CGPostMouseEvent() jest nieaktualne. Chociaż to mnie nie przeraża, chciałbym wiedzieć, co zastępuje CGPostMouseEvent(). To jak go używać:

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

to wszystko.

Wszelkie pomysły?

Dzięki!

Odpowiedz

11

CGEventCreateMouseEvent może być używany z CGEventPost w niezamknięty sposób. Odnośnikiem jest here.


Edit z OP:

coś takiego?

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

coś takiego: nieważne PostMouseEvent (przycisk CGMouseButton typu CGEventType const CGPoint punkt) { CGEventRef theEvent = CGEventCreateMouseEvent (NULL typu punkt, przycisk); CGEventSetType (theEvent, type); CGEventPost (kCGHIDEventTap, theEvent); CFRelease (theEvent); } – Uri

+0

oops, przepraszam za kiepskie formatowanie – Uri

+0

Na pierwszy rzut oka wygląda to dobrze. – phoebus

Powiązane problemy