1
如何獲取進程列表(在彈出按鈕中),然後當用戶選擇應用程序時,我可以隱藏/終止/最小化/退出應用程序嗎?獲取進程列表並隱藏特定應用程序
如何獲取進程列表(在彈出按鈕中),然後當用戶選擇應用程序時,我可以隱藏/終止/最小化/退出應用程序嗎?獲取進程列表並隱藏特定應用程序
-[NSWorkspace runningApplications]
會給你一個NSArray
代表NSRunningApplication
實例表示當前正在運行的進程。我不確定是什麼原因導致程序被排除在該列表之外,但它確實包含用戶從Finder啓動的任何應用程序。它還包括一些你不想惹的東西(Finder本身和loginwindow進程),以及不露面的應用程序。
您可以使用filteredArrayWithPredicate:
來篩選出來;您要保留的對象有activationPolicy
的NSApplicationActivationPolicyRegular
。
一旦數組被過濾,您可以使用bundleIdentifier
,bundleURL
或localizedName
來搜索它,以找到您想要的應用程序。然後根據您的喜好將hide
或terminate
發送到NSRunningApplication
實例。
蘋果有一個示例項目,演示了這一切,稱爲AppList。
這可能是一個非常長的彈出式菜單。 (儀器很好地演示了這一點。)您可以考慮在表格視圖中列出流程。 –
我不介意彈出只是最新的代碼 – ProSay