gpt4 book ai didi

c++ - 从 C++ (windows) 中查找 JRE

转载 作者:行者123 更新时间:2023-11-28 01:04:49 24 4
gpt4 key购买 nike

我正在为我的 Java 程序制作一个小型启动器程序,其想法是我可以在调用 Java 之前设置内存要求、关联的库以及类似的东西。

但是,我越来越发现似乎没有一种固定的方法可以从任何东西调用 Java。

  1. system32 中不再有 java.exe,因此不能保证。
  2. 在大多数计算机上,在 HKEY_LOCAL_MACHINE 或 HKEY_CURRENT_USER 下都有一个注册表项,它定义了一个 JRE 子项,然后是一个 JavaHome 值。这适用于大多数计算机,但在我的新计算机(不到两周前构建的全新 java 安装)上,这些注册表不存在。 CURRENT_USER 中有一个 JRE 条目,但没有 JavaHome。
  3. JAVA_HOME 环境变量并不总是设置或设置正确。特别是在没有安装 JDK 的机器上。
  4. 我显然不能依赖将 Java 安装到 C:/Program Files/Java。

我怎么能从 C++ 程序可靠地调用 Java 程序?或者就此而言,从任何地方?我可以让我的程序尝试所有四种可能的方法,但如果它们都是空的怎么办?

提前致谢。

最佳答案

首先,强烈建议使用一种可用的脚本语言来查找 JRE 位置、设置内存要求和类似内容。由于 BAT 文件的语言相对较差,您可以使用 VBS 或 JScript 并使用名为 cscript 的实用程序运行它们。

关于 JRE 在哪里的事实。通常可以在注册表中找到 JRE。例如,在我的机器上,我可以看到以下条目。HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6.0_26

可能您有更新的安装...无论如何请在此处检查 Java 安装条目:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall在我的例子中,我有条目 {26A24AE4-039D-4CA4-87B4-2F83216012FF},其中名为 InstallLocation 的键包含 Java Home 的路径。

下一个方法是检查 Java home 环境变量。

最后一种方法是在 %ProgramFiles% 中执行搜索

关于c++ - 从 C++ (windows) 中查找 JRE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6808541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com