当我的应用程序不在最前面时,如何在NSStatusWindowLevel窗口中获取键盘事件?

Kri*_*oot 5 macos cocoa

在创建半透明窗口(基于Matt Gemmell的示例代码)之后,我想在此窗口中获取键盘事件.当我的应用程序是活动应用程序时,似乎只有键盘事件,而我想要键盘事件,即使我的应用程序不活动但窗口可见.

基本上我想要Quicksilver应用程序(blacktree)提供的行为.

有没有人对如何做到这一点有任何暗示?

e.J*_*mes 3

有两种选择:

\n\n
    \n
  1. GetEventMonitorTarget()与附加的 Carbon 运行循环一起使用来捕获键盘事件。示例代码可在CocoaDev 的此页面上找到。\n

  2. 使用 注册事件陷阱CGEventTapCreate。示例代码可以在Apple 开发者邮件列表的该主题中找到。\n
\n\n

编辑:请注意,仅当您在“通用访问”首选项窗格中选中 \xe2\x80\x9c启用对辅助设备的访问\xe2\x80\x9d 时,这些方法才有效。

\n