2015-03-03 33 views
0

是否可以在eclipse插件中找到程序的安裝文件夾?如何在Java eclipse插件中找到程序的安裝文件夾

例如,有一個名爲'W-app'的程序,默認安裝在c:\ program files中。但是,一些用戶可能會選擇不同的目錄(例如D :)。

是否有可能在java中動態查找'W-app'程序的安裝文件夾?

回答

0

看來您並不是在詢問如何定位Eclipse安裝本身,而是在尋找其他程序。

在這樣的事件中,你有兩個問題。一,你的代碼將是特定於平臺的,二,對於任意程序沒有保證的方法。根據你的文章,我假設你對Windows感興趣。

  • 如果您知道該程序在PATH系統變量中,則可以使用where命令。 where.exe someappinpath.exe將返回當前Windows版本的路徑。要真正從Java執行命令,您可以使用簡單的Runtime.getRuntime().exec()調用,或者參見this question以獲得更好的執行方式。

  • 如果程序不能在PATH中,那麼如果你知道它寫入Windows註冊表是什麼,那是很好的。然後,您可以在HKCU\SoftwareHKLM\Software下找到應用程序的數據和安裝位置。同樣,這需要了解應用程序在註冊表中保存的內容。

  • HKCUHKLM下查看SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall將向您提供有關已寫入卸載信息的所有程序的信息。不幸的是,一些程序不這樣做,但如果是這樣的話,你不能指望什麼。

  • 作爲最後的手段,您可以在驅動器中搜索與程序可執行文件名匹配的文件。這不是一個好方法,它速度很慢,您可能會發現錯誤的文件。

從純粹的實用角度來看,如果你的插件依賴於一些第三方程序,我會先嚐試自動定位程序(通過where或查找已知的註冊表項,或默認安裝位置)如果失敗,請讓用戶指出程序的位置。

+0

謝謝杜曼。這似乎解決了我的問題。我會根據你的解決方案評估我的可能性,以便我能做些什麼。 – 2015-03-04 04:02:34

相關問題