Глобальный ярлык работает, но система воспроизведения Звук ошибки - PullRequest
0 голосов
/ 30 марта 2012

Я создаю глобальный ярлык с этим кодом:

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

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

       int modiferKeys = NSControlKeyMask | NSAlternateKeyMask;

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

Этот код отлично работает, но когда некоторые приложения имеют фокус (например, Xcode, AppStore ...), система воспроизводит звук ошибки. Как это исправить? Thaks.

1 Ответ

1 голос
/ 30 марта 2012

Другим способом реализации глобальной горячей клавиши является использование RegisterEventHotKey, объявленное в CarbonEvents.h.Документы для него могут быть «устаревшими», но, насколько я могу судить по заголовку, он не устарел и доступен в 64-битном коде.

...