2015-05-12 53 views
4

在我開發的應用程序中,數據庫用於存儲所有用戶數據,通常位於庫/應用程序支持的某處。爲了使用戶能夠切換數據庫,我希望實現類似於iTunes或iPhoto的功能,如果在啓動應用程序時按下選項鍵,應用程序會詢問庫或數據庫的位置。如何確定Cocoa應用程序啓動時按修飾鍵?

如何在沒有NSEvent的情況下檢查當前按下的(修飾鍵)鍵?

我已經嘗試過:

[NSResponder flagsChanged:(NSEvent *)theEvent] - 可能不叫,因爲該選項鍵在窗口前已經下跌和任何反應被實例化。

[[NSApplication sharedApplication] currentEvent] - 退貨nil

回答

7

中的applicationDidFinishLaunching將這個:

NSUInteger modifiers = ([NSEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask); 

if (modifiers == NSAlternateKeyMask) { 
    // do your sutff here 
} 

和MacOS 10.12開始,這應該是:

NSUInteger modifiers = ([NSEvent modifierFlags] & NSEventModifierFlagDeviceIndependentFlagsMask); 

if (modifiers == NSEventModifierFlagOption) { 
    // do your sutff here 
} 
相關問題