2011-06-30 48 views
1

如何獲取進程列表(在彈出按鈕中),然後當用戶選擇應用程序時,我可以隱藏/終止/最小化/退出應用程序嗎?獲取進程列表並隱藏特定應用程序

+0

這可能是一個非常長的彈出式菜單。 (儀器很好地演示了這一點。)您可以考慮在表格視圖中列出流程。 –

+1

我不介意彈出只是最新的代碼 – ProSay

回答

2

-[NSWorkspace runningApplications]會給你一個NSArray代表NSRunningApplication實例表示當前正在運行的進程。我不確定是什麼原因導致程序被排除在該列表之外,但它確實包含用戶從Finder啓動的任何應用程序。它還包括一些你不想惹的東西(Finder本身和loginwindow進程),以及不露面的應用程序。

您可以使用filteredArrayWithPredicate:來篩選出來;您要保留的對象有activationPolicyNSApplicationActivationPolicyRegular

一旦數組被過濾,您可以使用bundleIdentifierbundleURLlocalizedName來搜索它,以找到您想要的應用程序。然後根據您的喜好將hideterminate發送到NSRunningApplication實例。

蘋果有一個示例項目,演示了這一切,稱爲AppList

相關問題