Snow Leopard上的CGPostMouseEvent替换

Uri*_*Uri 5 macos xcode objective-c

自从mac os 10.4以来,我一直在使用CGPostMouseEvent()来执行鼠标点击.

在处理我的代码并尝试使其与Snow Leopard 100%兼容时,XCode会发出警告,声明CGPostMouseEvent()已被弃用.虽然这不会吓到我,但我想知道什么取代了CGPostMouseEvent().这就是我使用它的方式:

CGPostMouseEvent(point,FALSE,1,TRUE);  // mouse down
CGPostMouseEvent(point,FALSE,1,FALSE); // mouse up
Run Code Online (Sandbox Code Playgroud)

就这样.

有任何想法吗?

谢谢!

pho*_*bus 11

CGEventCreateMouseEvent可以以CGEventPost非弃用的方式使用.参考在这里.


从OP编辑:

像这样的东西?

void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point)
{
    CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button);
    CGEventSetType(theEvent, type);
    CGEventPost(kCGHIDEventTap, theEvent);
    CFRelease(theEvent);
}
Run Code Online (Sandbox Code Playgroud)