C++ 中的 OS X 全局快捷方式
Posted
技术标签:
【中文标题】C++ 中的 OS X 全局快捷方式【英文标题】:OS X Global Shortcuts in C++ 【发布时间】:2012-01-09 21:39:51 【问题描述】:我目前正在开发一个位于系统托盘中的 QT 应用程序(使用 C++),并且需要一个全局快捷方式。目前,QT 似乎没有提供一种向操作系统注册全局快捷方式的方法。我找到了 Qxt (http://libqxt.org),但是由于各种原因,这个库是不够的。
因此,我正在寻找一种在 OS X 中注册全局快捷方式的方法,以便即使我的应用程序没有焦点(记住它在系统托盘中!)我仍然可以与其功能交互。
任何想法如何做到这一点?
【问题讨论】:
【参考方案1】:有RegisterEventHotKey
(碳)。彻底的写了can be found here。
您也可以安装CGEventTap
。这写起来稍微复杂一些,但仍然很短。 A demo can be found here.
【讨论】:
我在发布此信息后偶然发现了 RegisterEventHotKey。我如何从 C++ 中调用它?我只找到了 Objective-c 的参考资料。 @Louis 我已经链接了一个示例 - 在MyHotKeyHandler
的定义之后停止(到那时为止都是 C)。
@Louis 不客气。以防您不熟悉 OS X 开发;不要太依赖 Carbon 实现(它们是遗留 API)。
所以我读过。也许我需要一些更长期的东西 - 我可以考虑其他任何建议吗?
我提到了CGEventTap
- 它不适合你吗? osxbook.com/book/bonus/chapter2/alterkeys以上是关于C++ 中的 OS X 全局快捷方式的主要内容,如果未能解决你的问题,请参考以下文章