日期:2014-05-16  浏览次数:20760 次

64位Windows中32位程序注册表位置的特殊处理
最近在为公司的程序写一个小的注册配置工具。
在路径 HKEY_LOCAL_MACHINE\SOFTWARE 建立子项。
但是用Regedit,怎么也看不到新建的项目。
但是程序又能读出来。

搜了一下网上信息,
http://stackoverflow.com/questions/4950371/cannot-write-to-the-registry-under-hkey-local-machine-software
才知道 32位windows程序的注册表会放到如下路径
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

除非在
?RegCreateKeyEx
?RegDeleteKeyEx
?RegOpenKeyEx
这些API调用时,samDesired 参数中 加上 |KEY_WOW64_64KEY
http://msdn.microsoft.com/en-us/library/aa384129%28VS.85%29.aspx