在 x64 Windows 中,有没有办法运行 Runtime.exec() 进程以避免“注册表重定向”

2024-01-05

我们的应用程序在 jvm 32 位中运行,即使在 Windows x64 中也是如此。现在,在某些时候,我需要访问一些注册表值,例如 HKEY_LOCAL_MACHINE/SOFTWARE/mycomp。

我通过执行来做到这一点

cmd /C reg query HKEY_LOCAL_MACHINE\SOFTWARE\mycop

来自 Runtime.exec() 并解析输出。在 Windows 32b 上运行时效果很好,问题是在 x64 上运行时,我找不到密钥,因为我运行的 shell 是 32 位进程,并且由于注册表重定向 http://msdn.microsoft.com/en-us/library/aa384232(VS.85).aspx如果密钥位于 HKEY_LOCAL_MACHINE/SOFTWARE/wow6432Node/mycop 上,我会得到密钥

任何想法?


万一有人尝试这个......我无法做到这一点,不得不诉诸我的场景支持的另一种方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 x64 Windows 中,有没有办法运行 Runtime.exec() 进程以避免“注册表重定向” 的相关文章

随机推荐