为什么在我使用RegisterEventHotKey(Cocoa)时无法在Finder中复制和粘贴?
|
我使用函数RegisterEventHotKey(),当我尝试注册Cmd + C或Cmd + V时,我发现在finder中复制和粘贴无效。
我在函数RegisterEventHotKey()中插入了inOptions = 0参数,因此它应该是非专有的,但是为什么finder似乎没有收到这个热键?
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时,它显示日志\“测试热键\”,但是finder没有复制所选文件。
*我的申请是代理。有菜单栏,并且始终在后台运行。
没有找到相关结果
已邀请:
1 个回复
蹄渭信妥扳