32位应用程序访问64位注册表

发布于 2024-08-10 18:47:59 字数 416 浏览 2 评论 0原文

我有一个用 32 位编写的 OS Shell,它正在替换 Vista 计算机的 Explorer.exe。 我运行一个同样用 32 位编写的实用程序,它允许在 Explorer shell 和 My shell 之间切换。由于某些机器是基于 64 位的,我无法更改 HKLM\Microsoft\current\shell 密钥(缩写的 reg 密钥)。我最终被 WOW64 子密钥重定向拦截..并且实际上对 shell 密钥的更改没有发生。微软关于实时重定向的废话并不完全正确。这是一键,除非重新启动整机,否则不会重定向。

所以我正在寻找一种解决方案来更新重定向的密钥并加载它。

Shell 替代品是一款销售点软件。我的 GUI 实用程序将仅运行 32 位命令提示符或批处理文件作为 32 位运行。

我可以从 32 位执行或调用另一个批处理文件(例如 64 位)吗?

I have an OS Shell written in 32bit that is replacing the Explorer.exe of a Vista machine.
I run a utility which is also written in 32bit, which allows to switch between the Explorer shell and My shell. With some of the machines being 64bit based I can not Alter the HKLM\Microsoft\current\shell Key (short formed reg key). I end up getting intercepted by the WOW64 subkey redirection.. and effectively the changes to the shell key do not take place. Microsofts BS about realtime Redirection is not exactly true. That is one key that does not redirect unless you restart the whole-machine.

So I am looking for a solution to Either UPDATE that redirected key and have it load.

The Shell replacement is a Point of Sales software. My GUI utility will run 32bit command prompts only or batch files run as 32bit..

Can I Execute or call another batch file like a 64bit from a 32bit ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

来日方长 2024-08-17 18:47:59

有关如何访问的详细信息,请查看 MSDN您想要的确切蜂巢

KEY_WOW64_64KEY
KEY_WOW64_32KEY 标志启用显式
访问 64 位注册表视图和
分别是 32 位视图。

Check out MSDN for details on how to access the exact hive you want

The KEY_WOW64_64KEY and
KEY_WOW64_32KEY flags enable explicit
access to the 64-bit registry view and
the 32-bit view, respectively.

等数载,海棠开 2024-08-17 18:47:59

查看 MSDN 上的这篇文章,了解访问备用注册表查看。这应该提供一种从 32 位进程修改 64 位密钥的方法,但您需要用 C 或 C# 编写代码(或通过 WMI 进行)。

Take a look at this article on MSDN for Accessing an Alternate Registry View. This should provide a way to modify the 64bit key from a 32bit process, but you will need to write code wither in C or C# (or do it through WMI).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文