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

标签 objective-c cocoa mouseevent fullscreen

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

最佳答案

addGlobalMonitorForEventsMatchingMask:handler: 的描述称它仅“接收发布到其他应用程序的事件副本”。

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

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

关于objective-c - 全局鼠标事件和全屏应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13462256/

相关文章:

objective-c - 未初始化的外部 NSString 用法

ios - 无法设置带有搜索栏显示颜色的搜索栏 iOS7

objective-c - C代码使用random的解释

C# Vlc Player鼠标双击事件

ios - 没有可用应用程序时在浏览器中登录 Twitter

Swift - 使用 performSelectorOnMainThread

objective-c - 如何使用 NSString getBytes :maxLength:usedLength:encoding:options:range:remainingRange:

objective-c - 如何解决? 'NSProgressIndicator'之前预期的说明符限定符列表

javascript - 如何获取鼠标所在位置的所有元素?

winapi - 记录USB鼠标事件