首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可可NSStatusBar全球HotKey

可可NSStatusBar全球HotKey
EN

Stack Overflow用户
提问于 2009-11-01 16:59:52
回答 2查看 6.8K关注 0票数 13

我已经创建了一个位于系统状态栏中的NSStatusBar可可应用程序。

我想分配一个热键,以便当按下它时,切换我的应用程序并显示菜单。

这有可能吗?在我的搜索和实验中,我发现了几种分配全局热键的不同方法,这些方法可以在应用程序处于后台时按下,但我找不到任何方法来解决菜单显示的问题。

这是可能的吗?,如果有人认为分配全局热键的方式最好,请张贴。

谢谢。

我发现的热键教程之一是为感兴趣的人提供的http://dbachrach.com/blog/2005/11/program-global-hotkeys-in-cocoa-easily/教程。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-01 19:47:07

还有一个实际的热键API,它仍然存在于雪豹中,可以在64位内使用.它是专门为此目的而设计的,与NSEvent方法不同,后者本质上只是围绕CGEventTaps的基于块的包装器。

不同之处在于,NSEvent方法(或直接CGEventTaps )会让您查看传入的每个事件,而热键API只在用户按热键时调用您的函数。

票数 10
EN

Stack Overflow用户

发布于 2009-11-01 19:28:29

如果您的目标是10.6+,则有一些新的NSEvent API可以执行全局热键操作。欲了解更多信息,请访问以下令人敬畏的博客文章:http://cocoakids.net/global-hotkeys-in-cocoa-on-snow-leopard

编辑(很久之后)

有点像我自己的号角:我永远无法让像PTHotKey和其他库这样的东西像我期望的那样工作,所以我最终放弃了,写了我自己的HotKey包装器。它有一个非常简单的API (您给它一个关键代码、修饰符、一个目标和一个动作),它甚至支持10.6块这样有趣的东西。您可以在这里下载源代码:http://github.com/davedelong/DDHotKey

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1657659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档