如何获取进程列表(在弹出按钮中),然后当用户选择应用程序时,我可以隐藏/杀死/最小化/退出应用程序吗?
最佳答案
-[NSWorkspace runningApplications]
会给你一个 NSArray
NSRunningApplication
代表当前正在运行的进程的实例。我不太确定是什么原因导致程序被排除在该列表之外,但它确实包括用户从 Finder 启动的任何应用程序。它还包括一些您不想弄乱的东西(Finder 本身和登录窗口进程),以及匿名应用程序。
您可以使用filteredArrayWithPredicate:
过滤掉它们;您想要保留的对象有 activationPolicy
NSApplicationActivationPolicyRegular
。
过滤数组后,您可以使用 bundleIdentifier
、bundleURL
或 localizedName
对其进行搜索,以查找所需的应用。然后根据需要向该 NSRunningApplication
实例发送 hide
或 terminate
。
Apple 有一个示例项目可以演示所有这些,名为 AppList .
关于objective-c - 获取进程列表并隐藏特定应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6531379/