32位程序在64位系统读注册表问题

36 篇文章 1 订阅

我们进行项目开发时,有些配置经常会放在注册表中进行控制。一般情况下,为了能够兼容32位系统和64位系统,我们的应用程序都是32位的。在解决项目问题中,就涉及到32位和64位的注册表问题,今天记录如下。

问题现象:

我们的程序在32位系统运行的正常,但在64位系统下,某些功能开始失效,日志打印开关也不受注册表控制。

原因分析:

64 位版本 Windows 中的注册表分为 32 位注册表项和 64 位注册表项。许多 32 位注册表项与其相应的 64 位注册表项同名。在不知道情况下,特别容易搞混乱,因此需要特别注意。

为了防止注册表键冲突,注册表在某些键也分成了两个部分。一部分是专门给64位系统访问的,另一部分是专门给32位系统访问的。当32位程序去访问某些键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面。

在 64 位版本的注册表编辑器中,32 位注册表项显示在以下注册表项下:
HKEY_CURRENT_USER\Software\Wow6432Node\

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值