【问题标题】:CGEventCreateMouseEvent Complie Error in Xcode 7CGEvent 在 Xcode 7 中创建 MouseEvent 编译错误
【发布时间】:2016-03-30 05:22:30
【问题描述】:

即使CGEventCreateMouseEvent 在 Xcode 7 中没有被弃用,我还是遇到了错误

No matching function for call to 'CGEventCreateMouseEvent'

请找到在 Xcode 6 (SDK OSX 10.10) 中工作的代码

-(void)sendMouseClick:(CGMouseButton)mouseBtn value:(uint32_t)value
{
    int mouseEvent = 0;
    if(mouseBtn == kCGMouseButtonLeft && value == 1) //left btn down
    {
        mouseEvent = kCGEventLeftMouseDown;
    }
    else if (mouseBtn == kCGMouseButtonLeft && value == 0) //left btn up 
    {
        mouseEvent = kCGEventLeftMouseUp;
    }
    else if (mouseBtn == kCGMouseButtonRight && value == 1) //Right btn down
    {
        mouseEvent = kCGEventRightMouseDown;
    }
    else if (mouseBtn == kCGMouseButtonRight && value == 0) //Right btn up
    {
        mouseEvent = kCGEventRightMouseUp;
    }
    if(mouseEvent != 0) // a valid mouse event
    {
        CGEventRef ourEvent = CGEventCreate(NULL);
        NSPoint mouseLoc  = CGEventGetLocation(ourEvent); //get current mouse position

        CGEventRef mouseClick = CGEventCreateMouseEvent(
                                                        NULL,
                                                        mouseEvent,
                                                        mouseLoc,
                                                        mouseBtn
                                                        );
        CGEventPost(kCGHIDEventTap, mouseClick);
    }
}

我尝试导入<CoreGraphics/CGEvent.h>,但没有任何区别。知道发生了什么吗?

【问题讨论】:

    标签: ios objective-c xcode mouseevent osx-elcapitan


    【解决方案1】:

    我发现 SDK 10.11 之后存在类型不匹配的问题。

    变化,

    int mouseEvent = 0
    

    CGEventType mouseEvent = kCGEventNull;
    

    解决问题。

    【讨论】:

      猜你喜欢
      • 2015-09-14
      • 1970-01-01
      • 2015-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多