iTunes和Reeder(我敢肯定还有很多其他)应用程序可以在按住⌥(选项)键的情况下启动时修改启动行为。我尝试查看NSApplicationDelegate方法,但似乎没有一个方法在我要查找的内容中添加任何提示。如何实现此功能?

最佳答案

在您的应用程序委托的applicationDidFinishLaunching:方法中

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

BOOL isOptionPressed = (flags == NSAlternateKeyMask);


(已编辑,以匹配真棒答案Declaring and checking/comparing (bitmask-)enums in Objective-C
以前这是
BOOL isOptionPressed = (0 != (flags & NSAlternateKeyMask));
但是,除非位掩码本身表示二进制中的所有零,否则零位检查对于检查是否相等是否需要掩码是不必要的。
提供的链接提供了更多详细信息。

关于macos - “启动应用程序并按住[修饰键]”的窍门是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7376920/

10-15 00:37