我试图知道应用程序是否具有UI或其代理或没有UI的应用程序。
我的方法是使用,
NSArray *runningApplicationsList = [[NSWorkspace sharedWorkspace] runningApplications];
在runningApplicationsList
中有iTunesHelper,AirPortBaseStationAgent,iChatAgent,AppleSpell等应用程序的输入。
我正在寻找过滤掉它们的方法?任何人都可以提出一个想法吗?
答案 0 :(得分:1)
尝试抓取每个应用的NSRunningApplication
实例,然后检查activationPolicy
。如果无法激活应用程序(没有用户界面),则应为NSApplicationActivationPolicyProhibited
。
如果这不起作用,那么您可能不得不在每个应用程序窗口列表中查看,但我不确定如果没有提升权限,这是否可行。