我有一个应用程序,在激活时,是'后台'并且有一个NSStatusItem图标,可以点击该图标关闭应用程序或打开NSWindow。
目前,我可以单击该图标,然后按下命令+选项+ T并且NSWindow将激活,但我不能做的是按下组合键而不先单击NSStatusItem。
所以,我想知道是否有可能在系统中注册热键或者我需要在哪里查看,这样我就不必首先点击状态项来“激活”应用程序?
谢谢!
答案 0 :(得分:4)
是的!自己实现全局热键有点乏味,但有一些非常棒的包装器。我对我写的那个很偏:http://github.com/davedelong/DDHotKey
你这样使用它:
- (void) registerHotkey {
DDHotKeyCenter * c = [[DDHotKeyCenter alloc] init];
[c registerHotKeyWithKeyCode:9 modifierFlags:NSControlKeyMask target:self action:@selector(hotkeyWithEvent:) object:nil];
[c release];
}
- (void) hotkeyWithEvent:(NSEvent *)hkEvent {
NSLog(@"hotkey event: %@", hkEvent);
}
答案 1 :(得分:1)
Yes, it is possible to set up a global hot-key.正如戴夫所说,有几个包装纸;这个问题的答案给出了(AFAIK,撰写本文时)所有这些内容的链接。