0

我使用以下代码创建全局快捷方式:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {

     [NSEvent addGlobalMonitorForEventsMatchingMask:NSKeyDownMask handler:^(NSEvent * theEvent) {

       int modiferKeys = NSControlKeyMask | NSAlternateKeyMask;

            if (([theEvent keyCode] == 7 && modiferKeys)) {
               NSLog (@"%@",@"work");
            }
        }];
}

此代码完美运行,但是当某些应用程序具有焦点时(例如 Xcode、AppStore...),系统会播放错误声音。怎么修?谢谢。

4

1 回答 1

1

实现全局热键的另一种方法是使用RegisterEventHotKey在 CarbonEvents.h 中声明的 ,。它的文档可能属于“旧版”,但据我从标题中可以看出,它没有被弃用,并且可以在 64 位代码中使用。

于 2012-03-30T18:04:31.493 回答