过滤运行应用程序列表?

时间:2012-10-04 12:10:52

标签: objective-c macos cocoa appkit

我试图知道应用程序是否具有UI或其代理或没有UI的应用程序。

我的方法是使用,

NSArray *runningApplicationsList = [[NSWorkspace sharedWorkspace] runningApplications];

runningApplicationsList中有iTunesHelper,AirPortBaseStationAgent,iChatAgent,AppleSpell等应用程序的输入。

我正在寻找过滤掉它们的方法?任何人都可以提出一个想法吗?

1 个答案:

答案 0 :(得分:1)

尝试抓取每个应用的NSRunningApplication实例,然后检查activationPolicy。如果无法激活应用程序(没有用户界面),则应为NSApplicationActivationPolicyProhibited

如果这不起作用,那么您可能不得不在每个应用程序窗口列表中查看,但我不确定如果没有提升权限,这是否可行。