2017-01-23 44 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

相關問題