32位和64位Windows上的注册表

Registry on 32-bit and 64-bit Windows

本文关键字:注册表 Windows 64位 32位      更新时间:2023-10-16

我在Windows x64中的注册表有问题。我需要通过文件获得附加值。reg:

REGEDIT4
[HKEY_LOCAL_MACHINESOFTWAREMy Soft]
"Str1" = "Assa"
"Str2" = "142Z5214GGAAVGA"

在代码中,我做:

RegCreateKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\My Soft", 0,NULL,0,    KEY_READ | KEY_WOW64_64KEY,NULL,&hKey,&dwDis))
/*
Get the value by RegQueryValueEx... 
*/

在32位中,Windows是不错的。在64位中,值为空。

PS:对不起,我的英语通过谷歌翻译^_^

您说需要获取一个值,但您调用的是RegCreateKeyEx。你真的需要创建吗?如果是这样,它可能是在HKLM/Software/Wow6432Node中创建的。

您尝试过HKEY_LOCAL_MACHINESoftwareWOW6432Node吗?

64位版本的Windows附带的注册表编辑器(Regedit.exe)的默认64位版本同时显示64位密钥和32位密钥。WOW64注册表重定向器为32位程序注册表项提供具有不同键的32位程序。在64位版本的注册表编辑器中,32位注册表项显示在以下注册表项下。