c++ - 在 64 位和 32 位窗口中读取注册表

标签 c++ winapi mfc registry

我正在 64 位 Windows-7 中编写应用程序。在注册表中,我有一个要从路径读取的 key :

HKEY_LOCAL_MACHINE\Software\Wow6432Node\XXXX

我首先尝试使用以下代码打开 key :

RegOpenKeyEx(HKEY_LOCAL_MACHINE, Path, 0, KEY_ALL_ACCESS, &hKey) 

然后我就可以读取这些值了。这在 64 位 Windows 上工作正常,但在 32 位 Windows 上不起作用。在 32 位 Windows 上阅读它应该做什么?

最佳答案

Windows 64 位系统将注册表分为两部分。一个用于 32 位系统,另一个用于 64 位系统。 我相信您应该将电话更新为以下内容:

RegOpenKeyEx(HKEY_LOCAL_MACHINE, Path, 0, KEY_ALL_ACCESS | KEY_WOW64_32KEY, &hKey)

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

相关文章:

c++ - 什么是 C 扩展?

c++ - 动态创建的数组

c# - Win32 笔模拟不适用于 InjectTouchInput()

c++ - 没有标题的 Visual Studio 2008 MFC 拖动对话框并检测所有鼠标事件

mfc - 动态创建/销毁 CComboBox

java - 无效的内存访问

c++ - 尝试从 dev c++ mingw 4.8.1 中的文件读取时收到段错误

c++ - 如何找到文件/文件夹的所有硬链接(hard link)和符号链接(symbolic link)(Windows 和 UNIX)?

java - 如何在 Java 上的 Windows 中启动交互式进程?

c++ - 如何使用boost序列化?