我创建了一个位于系统状态栏中的NSStatusBar cocoa应用程序.
我想分配一个热键,以便在按下时切换我的应用程序并显示菜单.
这可能吗?在我的搜索和实验中,我发现了一些不同的方法来分配全局热键,当你的应用程序在后台时可以按下这些热键,但是我找不到任何方法来使菜单显示有问题.
这可能吗?,如果有人认为分配全球热键的方式最好请发布.
谢谢.
我找到的热门教程之一是http://dbachrach.com/blog/2005/11/program-global-hotkeys-in-cocoa-easily/,感兴趣的任何人.
Dav*_*ong 17
如果您的目标是10.6+,那么NSEvent
可以使用一些新的API 来执行全局热键.有关更多信息,请查看这篇精彩的博客文章:http://cocoakids.net/global-hotkeys-in-cocoa-on-snow-leopard
编辑(很久以后)
稍微嘟嘟我自己的号角:我永远无法像PTHotKey和其他库这样的东西以我期望的方式工作,所以我最终放弃并编写了我自己的HotKey包装器.它有一个非常简单的API(你给它一个关键代码,修饰符,一个目标和一个动作),甚至支持像10.6块这样的有趣的东西.您可以在此处下载源代码:http: //github.com/davedelong/DDHotKey
Pet*_*sey 11
有一个实际的热键API,它仍然存在于Snow Leopard中,可以使用64位.它专门为此目的而设计,与NSEvent方法不同,NSEvent方法基本上只是围绕CGEventTaps的基于块的包装器.
所不同的是,NSEvent方法(或直接CGEventTaps)让你看每一个自带的事件,而当用户按下热键API只要求你的函数的热键.
归档时间: |
|
查看次数: |
6554 次 |
最近记录: |