我想从OS X中的cmd + tab菜单中获取应用程序。我现在最好的方法是将其与AppleScript调用相关联,并使用以下内容:
NSDictionary *errorDict;
NSAppleEventDescriptor *returnValue;
NSString *appleScriptText = @"tell application \"System Events\" to get name of (processes where background only is false)";
NSAppleScript *script = [[NSAppleScript alloc] initWithSource:appleScriptText];
然后遍历从它返回的东西,并将其与[[NSWorkspace sharedWorkspace] runningApplications]
匹配,但这似乎有点太奇怪,无法完成此任务。
所以我的问题在这里:有没有像这样的方式那么古怪?
我的答案非常紧张。
答案 0 :(得分:3)
鉴于您已经熟悉-[NSWorkspace runningApplications]
,为什么不迭代这些并检查哪些符合您的标准? background only
属性对应NSRunningApplication
的{{1}}属性不是activationPolicy
。
所以,像(未经测试):
NSApplicationActivationPolicyRegular