我想检查我的机器上是否安装了Java 7或更高版本的java。我使用下面的代码来找到这个:
/// <summary>
/// Get the file path of the installed java run time.
/// </summary>
/// <returns>full path of java run time.</returns>
private static string GetJavaPath()
{
RegistryKey javaRuntime = Registry.LocalMachine.OpenSubKey("SOFTWARE\\JavaSoft\\Java Runtime Environment");
string currentVerion = javaRuntime.GetValue("CurrentVersion").ToString();
string javaSubVersion = (javaRuntime.OpenSubKey(currentVerion)).GetValue("JavaHome").ToString();
string filePath = Path.Combine(javaSubVersion, @"bin\javaw.exe");
return filePath;
}
我需要系统上的所有javaw.exe(java版本)。 请仔细研究。
答案 0 :(得分:0)
如果我理解得很清楚,HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment
会为您提供当前版本,但其他jre版本也可以在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment
下检索。
请注意,查找JDK可能也值得(因为它们嵌入了JRE,并且不一定在上面的键下引用)。您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit
和HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
找到它们。