我在Windows x64中遇到了注册表问题。我需要通过file.reg获取一个值:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\My 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: Google翻译对不起我的英文^ _ ^
答案 0 :(得分:0)
您是否尝试过HKEY_LOCAL_MACHINE\Software\WOW6432Node
?
64位版本的Windows附带的默认64位版本的注册表编辑器(Regedit.exe)同时显示64位密钥和32位密钥。 WOW64注册表重定向器为32位程序提供了具有32位程序注册表项的不同键。在64位版本的注册表编辑器中,32位密钥显示在以下注册表项下。
答案 1 :(得分:0)
你说你需要获得一个值,但是你正在调用RegCreateKeyEx
。你真的需要创建吗?如果是这样,它可能是在HKLM / Software / Wow6432Node中创建的。