Windows注册表--32位和64位程序写注册表位置

本文探讨了在Windows环境下,使用RegCreateKeyEx+KEY_WOW64_64KEY在HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp Paths下写入时遇到的问题。通过分析注册表重定向和反射机制,揭示了为何在特定情况下,写入操作不会如预期般仅影响非wow6432node部分。
摘要由CSDN通过智能技术生成

前言

最近遇到个关于注册表的神奇的事情,当使用RegCreateKeyEx+KEY_WOW64_64KEY在win7环境下写HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\123.exe时,发现结果没有达到预期:在wow6432node下没有该项。

解决思路

1、测试自己使用RegCreateKeyEx+KEY_WOW64_64KEY是否错误:即用该函数写HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\APP1\123.exe,发现结果达到预期:在wow6432node下面没有该项。

2、百度搜索App Paths注册表项的作用

3、问老大,发现有点懵,然后决定从最基础的了解,即windows是怎么玩注册表的?接着就解决了我的问题。

正文

1、注册表知识点

参考文章:https://www.onthink.com/2014/07/06/32bit-64bit-registry/

msdn的解释:
重定向:https://docs.microsoft.com/zh-cn/windows/win32/winprog64/registry-redirector?redirectedfrom=MSDN

反射:https://docs.microsoft.com/zh-cn/windows/win32/winprog64/registry-reflection?redirectedfrom=MSDN

注册表项采用何种方式供32位和64位使用:

https://docs.microsoft.com/zh-cn/windows/win32/winprog64/shared-registry-keys

Key Windows 7 and Windows Server 2008 R2 Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP
HKEY_LOCAL_MACHINE Shared Shared
** SOFTWARE** Redirected Redirected
** Classes** Shared Redirected and reflected
** Appid** Shared Redirected and re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值