6
我想創建OS X應用程序,它顯示並聚焦在系統範圍的熱鍵,然後,使用相同的熱鍵,它應該消失並且切換焦點返回。就像阿爾弗雷德一樣。可可切換焦點到應用程序,然後將其切換回
問題是我不能回頭看以前使用的應用程序。通過回顧我的意思是我不能繼續在以前的應用程序中輸入。
這裏是我的熱鍵處理程序:
OSStatus OnHotKeyEvent(EventHandlerCallRef nextHandler,EventRef theEvent, void *userData)
{
AppDelegate *me = (__bridge AppDelegate*) userData;
EventHotKeyID hkCom;
GetEventParameter(theEvent, kEventParamDirectObject, typeEventHotKeyID, NULL, sizeof(hkCom), NULL, &hkCom);
if([[me window] isVisible]) {
[[NSApplication sharedApplication] activateIgnoringOtherApps:NO];
[[me window] orderOut:NULL];
}
else {
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES];
[[me window] makeKeyAndOrderFront:nil];
}
return noErr;
}
這工作,但要注意的是,frontmostApplication是您的應用程序的時候applicationWilLBecomeActive通知到達。最重要的應用程序必須在熱鍵處理程序中進行檢查。 –