检查windows系统上是否安装了java

检查windows系统上是否安装了java,java,jvm,c++builder,Java,Jvm,C++builder,如何检查java是否安装在windows系统上,并从客户端文件夹上的jvm.dll获取完整路径 我使用了这段代码,但我不知道如何检索当前版本 TRegistry* reg = new TRegistry(KEY_READ); reg->RootKey = HKEY_CURRENT_USER; reg->Access = KEY_ALL_ACCESS; bool openResult = reg->OpenKey("SOFTWARE\\JavaSoft\\Java Runtime

如何检查java是否安装在windows系统上,并从客户端文件夹上的jvm.dll获取完整路径

我使用了这段代码,但我不知道如何检索当前版本

TRegistry* reg = new TRegistry(KEY_READ);
reg->RootKey = HKEY_CURRENT_USER;
reg->Access = KEY_ALL_ACCESS;
bool openResult = reg->OpenKey("SOFTWARE\\JavaSoft\\Java Runtime Environment", true);
if(!openResult) // cannot create registry keys, use default values
    return;
if(!reg->ValueExists("CurrentVersion")) //it's not exist CuurentVersion
    return;

我不认为需要编写一些代码或类似的东西来查看是否安装了java。 要查看它是否安装在windows上,只需转到
C:\Program Files\Java
如果该目录存在,则您有Java;如果它安装在不同的目录中,请在windows程序中查看,它应该显示是否安装了Java;如果没有,则您很可能没有Java。 使用链接查看您的版本,但建议始终获取最新版本

希望这有帮助,卢克

编辑:

如果您想查看java是否以编程方式安装在另一台计算机上,请尝试使用.bat文件查看,链接应该会有所帮助。 或者使用将jar构建到.exe中,如果未安装java,它将提示用户安装java。

您可以从代码中执行系统“java-version”命令。是C++的一个例子。要找到版本,您只需要解析您得到的结果,如果您得到的话。字符串结果将提供所需的信息


同时,为了找到路径,我相信您可以通过迭代环境变量并查找JAVA_HOME来找到它。

他想知道用户X是否安装了JAVA,而不是他。我会选择使用
JNI_CreateJavaVM()
JNIEnv::GetVersion()
而不是解析命令行输出。您不需要“迭代”环境变量,大多数平台都提供了一种通过名称查询特定变量值的方法。在Windows上,它是。但是,Windows不使用
JAVA\u HOME
(至少,即使安装了JAVA,我的系统上也没有
JAVA\u HOME
变量)。关于JAVA\u HOME,您是对的:它不能保证工作。第一个建议是非常有效的,所以我相信你应该把它作为可能的解决方案的一个备选方案。