最简单的方法是applicationDidFinishLaunching:
在您的应用程序委托中的方法中。这在启动时调用。applicationWillTerminate:
当应用程序即将退出时,将调用该方法。
// in application delegate
- (void)applicationDidFinishLaunching:(NSNotification *)notification {
// call registerhotkey
}
- (void)applicationWillTerminate:(NSNotification *)notification {
// call unregisterhotkey
}
或者,您可以将调用放在主函数中,registerhotkey
在调用 NSApplicationMain 之前和调用 NSApplicationMainunregisterhotkey
之后调用。如果还没有,您将需要围绕此代码添加一个自动释放池。
int main(int argc, char **argv) {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// call registerhotkey
int result = NSApplicationMain(argc,argv);
// call unregisterhotkey
return result;
}
最后,您可以使用特殊load
方法在registerhotkey
加载类或类别时调用。您实际上不需要调用unregisterhotkey
,因为系统会在您的应用程序退出时自动调用。
// in any class or category
+ (void)load {
// call registerhotkey
}