【问题标题】:CGPostMouseEvent replacement on Snow LeopardSnow Leopard 上的 CGPostMouseEvent 替换
【发布时间】:2009-09-27 13:19:12
【问题描述】:

自 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

就是这样。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: objective-c xcode macos


    【解决方案1】:

    CGEventCreateMouseEvent 可以与CGEventPost 以非弃用方式一起使用。参考是here


    从 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);
    }
    

    【讨论】:

    • 类似这样的: void PostMouseEvent(CGMouseButton button, CGEventType type, const CGPoint point) { CGEventRef theEvent = CGEventCreateMouseEvent(NULL, type, point, button); CGEventSetType(theEvent, type); CGEventPost(kCGHIDEventTap, theEvent); CFRelease(事件); }
    猜你喜欢
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多