为我的macOS应用程序捕获菜单栏上的点击
问题描述:
下面的语句捕获我应用程序窗口内的所有点击,但不会捕获我应用程序菜单栏上的点击。我也无法捕捉到菜单栏点击使用addGlobalMonitorForEvents
为我的macOS应用程序捕获菜单栏上的点击
NSEvent.addLocalMonitorForEvents(matching: .leftMouseDown , handler: {
(mouseEvent:NSEvent?) in ....
答
对我来说,我的应用程序,使用globalMonitor
与NSEvent
的locationInWindow
财产沿似乎点击输出坐标,即使当不上的窗应用程序。下面是我实现的:
NSEvent.addGlobalMonitorForEvents(matching: .leftMouseDown) { event in
print(event.locationInWindow)
}
- 作为一个侧面说明,点击坐标从(0,0)去我的屏幕左下方的我的屏幕(宽,高)在右上角
+0
当焦点窗口是我的应用程序的窗口并且我点击菜单栏时,不会调用全局事件。 – Kashif
如果您要监视的菜单栏属于您的应用程序,请使用观察者。 –
@El番茄:什么样的观察者? – Kashif