Я использую функцию RegisterEventHotKey (), и когда я пытаюсь зарегистрировать Cmd + C или Cmd + V, я замечаю, что копирование и вставка в Finder не работает.
Я вставляю параметр inOptions = 0 в функцию RegisterEventHotKey (), поэтому он должен быть неисключительным, но почему, похоже, искатель не получает эту горячую клавишу?
EventTypeSpec eventType;
eventType.eventClass=kEventClassKeyboard;
eventType.eventKind=kEventHotKeyPressed;
InstallApplicationEventHandler(&MyHotKeyHandler,1,&eventType,(void *)self,NULL);
EventHotKeyID gMyHotKeyID;
NSInteger keycode = 8; // 'C'
UInt32 modkey=0;
modkey+=cmdKey;
RegisterEventHotKey((int)keycode, modkey, gMyHotKeyID,
GetApplicationEventTarget(), 0, &hotkeyRef);
//
OSStatus MyHotKeyHandler(EventHandlerCallRef nextHandler,EventRef theEvent,
void *userData)
{
NSLog(@"test hot key");
return eventNotHandledErr;
}
Вот код. Когда я нажимаю cmd + C, отображается журнал «Тест горячей клавиши», но программа поиска не копирует выбранные файлы.
* Моя заявка является агентом. имеет строку меню и всегда работает в фоновом режиме.