macos - 操作系统: Track mouse position when not the key application

标签 macos cocoa events swift

我正在用 Swift 编写一个 OSX 应用程序,并且希望跟踪鼠标位置,即使该应用程序不是关键应用程序。此代码序列适用于我的 View ,但当应用程序不再是主应用程序时, View 停止接收 mouseMoved 事件:

    window!.acceptsMouseMovedEvents = true
    window!.makeMainWindow()
    window!.makeKeyAndOrderFront(self)
    window!.makeFirstResponder(self)

当我的应用程序不再是关键时,如何继续获取 mouseMoved 应用程序?

最佳答案

为了使其正常工作,需要启用辅助功能,或者必须信任您的应用程序的辅助功能。然后您可以调用该方法:

addGlobalMonitorForEventsMatchingMask(_:handler:)

这会为您想要接收通知的特定事件类型注册一个处理程序方法。

这是 Apple 关于 monitoring events 的文档.

关于macos - 操作系统: Track mouse position when not the key application,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28512068/

相关文章:

c# - 我可以拥有强大的异常安全和事件吗?

vb.net - 更改事件中的单选按钮检查状态

php - Laravel Observers - 有什么方法可以传递额外的参数吗?

mysql - 如何在 Mac OS 10.6.6 上安装 gem MySQL

python - 在 python 3.5 Mac OS High sierra 上安装 numpy

macos - ffmpeg 从 avi 文件生成无法播放的 MP4 文件

objective-c - 如何创建 NSInputStream 的子类?

HTML5 Geolocation API获取WiFi AC信息?

macos - NSTextField 不断重复标题

objective-c - 从子类调用 AppDelegate 方法?