Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;:如何在Windows 32和64位中获取最新的Java路径? 我如何得到JRE——例如JRe7(它也可以是JR6等等)——在Windows 32和64位中使用C++的文件夹路径?简单的问题-但很难找到有效的解决方案/代码。_Java_C++ - Fatal编程技术网

C++;:如何在Windows 32和64位中获取最新的Java路径? 我如何得到JRE——例如JRe7(它也可以是JR6等等)——在Windows 32和64位中使用C++的文件夹路径?简单的问题-但很难找到有效的解决方案/代码。

C++;:如何在Windows 32和64位中获取最新的Java路径? 我如何得到JRE——例如JRe7(它也可以是JR6等等)——在Windows 32和64位中使用C++的文件夹路径?简单的问题-但很难找到有效的解决方案/代码。,java,c++,Java,C++,您有多种选择: 搜索注册表(注释中已给出链接) < L>使用C++中的一些CMD命令,然后解析输出(检查) 解析PATH env变量(通常JAVA_HOME指向JDK,但是,如果需要JRE,用户可以在其PATH变量中添加/JRE/bin) 关于32位和64位,为了正确检查是否安装了java机器(即32位java机器安装在64位windows上的情况),您可能还需要检查Wow6432Node注册表)。您可能需要在注册表中查找.jar文件或类似文件的默认打开程序。是的,我找到了,但我不喜欢这个解

您有多种选择:

  • 搜索注册表(注释中已给出链接)
  • < L>使用C++中的一些CMD命令,然后解析输出(检查)
  • 解析PATH env变量(通常JAVA_HOME指向JDK,但是,如果需要JRE,用户可以在其PATH变量中添加/JRE/bin)

关于32位和64位,为了正确检查是否安装了java机器(即32位java机器安装在64位windows上的情况),您可能还需要检查Wow6432Node注册表)。

您可能需要在注册表中查找.jar文件或类似文件的默认打开程序。是的,我找到了,但我不喜欢这个解决方案-必须创建新文件,然后删除。注册是可以的,但是如何有效地分析它们呢?我需要一些C++的源代码。现在就想弄清楚。现在你知道去哪里找了,你现在需要的只是一种读取注册表的方法。例如