c++ - 32 位和 64 位 Windows 上的注册表

标签 c++ winapi registry 64-bit

我在 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 位中值为空。

附言: 抱歉我的英语被谷歌翻译了^_^

最佳答案

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

关于c++ - 32 位和 64 位 Windows 上的注册表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17338767/

相关文章:

java - C++/Java 绑定(bind) : In which side should multi-threading be implemented?

c++ - 我需要为 DualTVL1OpticalFlow 添加哪个 header ?

c++ - 为什么找不到这个 std::map 键?

c++ - DirectX11 2 窗口渲染

无法识别 C++ CreateProcess 'telnet'

c++ - 如何判断我的进程是否是从 Windows 自动运行键启动的?

c - 在c中打开注册表项

c# - 如何将我的自定义工具栏(DeskBand?)放在 Windows 7 win WPF 的任务栏上?

c - 如何解决 mingw(或 mingw-w64)gcc 中缺少 InitOnceExecuteOnce?

c++ - 如何在 Windows 启动时启动应用程序?