如何在Java eclipse插件中找到程序的安装文件夹

时间:2015-03-03 12:14:17

标签: java eclipse-plugin

是否可以在eclipse插件中找到程序的Installation文件夹?

例如,有一个名为' W-app'的程序,默认安装在c:\ program文件中。但是,一些用户可能会选择不同的目录(例如:D :)。

是否可以找出' W-app'的安装文件夹?在java中动态编程?

1 个答案:

答案 0 :(得分:0)

您似乎并未询问有关查找Eclipse安装本身的问题,而是查找有关查找其他程序的信息。

在这种情况下,你有两个问题。一,你的代码将是特定于平台的,两个,没有保证可以为任意程序执行此操作。根据您的帖子,我假设您对Windows感兴趣。

  • 如果您知道程序在PATH系统变量中,则可以使用where命令。 where.exe someappinpath.exe将返回当前Windows版本的路径。要从Java实际执行命令,您可以使用简单的Runtime.getRuntime().exec()调用,或者查看this question以获得更好的方法。

  • 如果程序不能用于PATH,那么如果你知道它写入Windows注册表的内容是很好的。然后,您可以在HKCU\Software下或HKLM\Software下找到应用程序的数据和安装位置。同样,这需要知道应用程序在注册表中保存了什么。

  • SOFTWARE\Microsoft\Windows\CurrentVersion\UninstallHKCU下查看HKLM将为您提供有关已编写卸载信息的所有程序的信息。不幸的是,有些程序没有这样做,但如果是这样的话,你就不能指望任何东西。

  • 作为最后的手段,您可以在驱动器中搜索与程序可执行文件名称匹配的文件。这不是一个好方法,它很慢,你可能会发现错误的文件。

从纯粹实用的角度来看,如果您的插件依赖于某些第三方程序,我会首先尝试自动定位程序(通过where或查找已知的注册表项或默认安装位置)如果失败,请让用户指出程序的位置。