在我正在开发的应用程序中,数据库用于存储所有用户数据,通常位于库/应用程序支持中的某个位置。为了使用户能够切换数据库,我想实现类似于iTunes或iPhoto的功能,如果在启动时按下选项键,应用程序会询问库或数据库的位置。应用
如果手头没有NSEvent,如何检查当前按下的(修饰符)键?
我已经尝试过:
[[NSApplication sharedApplication] currentEvent]
- 可能未调用,因为选项键在窗口之前已经关闭,并且任何响应程序都已实例化。
nil
- 返回 String fileUri = "file:///storage/emulated/0/";
String filePath = Uri.parse(fileUri).getPath();
。
答案 0 :(得分:10)
将它放在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
}
答案 1 :(得分:0)
Swift 5版本:
func applicationDidFinishLaunch(_ aNotification: Notification?) {
if NSEvent.modifierFlags.intersection(.deviceIndependentFlagsMask) == .option {
// Your code
}
}