全局鼠标事件和全屏应用程序

时间:2012-11-19 21:07:47

标签: objective-c cocoa mouseevent fullscreen

在我写的应用程序中,我需要能够在用户移动指针时进行注册。为此,我使用了NSEvent类方法addGlobalMonitorForEventsMatchingMask:handler:。当程序在桌面上的窗口中运行时,这可以正常工作。但是,当我使用NSView enterFullScreenMode:withOptions:方法全屏显示应用程序时,不再调用事件处理程序。有人可以解释为什么会这样,我能做些什么来纠正这种情况?

1 个答案:

答案 0 :(得分:1)

addGlobalMonitorForEventsMatchingMask:handler:的说明只表示“收到发布到其他应用程序的事件副本”。

当您的应用程序占据整个屏幕时,其他应用程序不再“看到”鼠标移动事件。

换句话说,当您的应用移动到全屏时,您可能会“切换”为使用addLocalMonitorForEventsMatchingMask:handler: