我的应用程序有一个NSStatusItem和一个CGEventTap。每当您单击NSStatusItem时,它都会挂起几秒钟,然后菜单或NSStatusitem本身会再次接受事件。
在此之后,事件tap将被禁用,这很可能要归功于状态项。为什么这两个会发生碰撞?事件tap只是在监听,我对其他应用程序没有任何问题。
eventTap = CGEventTapCreate(kCGSessionEventTap, kCGHeadInsertEventTap, 1,CGEventMaskBit(NX_SYSDEFINED) | (1 << kCGEventKeyDown) | (1 << kCGEventKeyUp) | (1 << kCGEventMouseMoved), printEventCallback, NULL);发布于 2011-07-04 21:13:32
函数的第三个参数应该是1,在实际代码中仍然是0。如果它是1,则它是侦听CGEventTap,因此不能修改或过滤事件。
这也修复了事件水龙头可能与游戏“我的世界”一起出现的问题。因此,如果您CGEventTap只需要侦听而不进行过滤,请确保该参数设置为0x1或1
https://stackoverflow.com/questions/6570388
复制相似问题