2017-01-23 46 views
1

下面的语句捕获我应用程序窗口内的所有点击,但不会捕获我应用程序菜单栏上的点击。我也无法捕捉到菜单栏点击使用addGlobalMonitorForEvents为我的macOS应用程序捕获菜单栏上的点击

NSEvent.addLocalMonitorForEvents(matching: .leftMouseDown , handler: { 
      (mouseEvent:NSEvent?) in .... 
+0

如果您要监视的菜单栏属于您的应用程序,请使用观察者。 –

+0

@El番茄:什么样的观察者? – Kashif

回答

1

对我来说,我的应用程序,使用globalMonitorNSEventlocationInWindow财产沿似乎点击输出坐标,即使当不上的窗应用程序。下面是我实现的:

NSEvent.addGlobalMonitorForEvents(matching: .leftMouseDown) { event in 
    print(event.locationInWindow) 
} 
  • 作为一个侧面说明,点击坐标从(0,0)去我的屏幕左下方的我的屏幕(宽,高)在右上角
+0

当焦点窗口是我的应用程序的窗口并且我点击菜单栏时,不会调用全局事件。 – Kashif

相关问题