Windows64位系统注册表读取
2012-05-31 22:03
288 查看
//判断HKEY_CURRENT_USER\Software\Microsoft\Windows Media\WMSDK\General中是否存在ComputerName DWORD dwAccess = KEY_QUERY_VALUE | KEY_WOW64_64KEY; //KEY_WOW64_32KEY bool existKey = false; HKEY hKey = NULL; if (ERROR_SUCCESS == RegOpenKeyExW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows Media\\WMSDK\\General", 0, dwAccess, &hKey)) { WCHAR value[4*MAX_PATH]; //存放键值 DWORD size = sizeof(value) - 2; //如果长度小于键值,会造成读取不成功 existKey = (ERROR_SUCCESS == RegQueryValueExW(hKey, L"ComputerName", 0, NULL, reinterpret_cast<LPBYTE>(value), &size)); RegCloseKey(hKey); }
在win64下32位程序默认保存在一个Wow6432Node的子键中,如需要访问64位程序默认的注册表需要使用KEY_WOW64_64KEY。KEY_WOW64_32KEY表示读取64位系统中32位程序的位置,因为在64位windows系统中32和64位程序的注册信息是放在不同的位置。
参考:
http://msdn.microsoft.com
相关文章推荐
- 64位WINDOWS系统环境下应用软件开发的兼容性问题(CPU 注册表 目录)
- Tip - 注意:32位程序访问64位系统上的Windows注册表
- windows平台下,c++获取cpu型号,读取注册表获取系统软硬件信息代码
- 32位QT程序读取64位系统的注册表中的64位安装软件
- 64位系统访问注册表SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- Windows7 64位系统中,读取注册表,文件路劲重定位解决方案
- windows平台下,c++获取cpu型号,读取注册表获取系统软硬件信息代码
- windows平台下,c++获取cpu型号,读取注册表获取系统软硬件信息代码
- windows平台下,c++获取cpu型号,读取注册表获取系统软硬件信息代码
- windows 64位系统下 apache+php+mysql
- windows 7 64位系统KB2970228和KB2982791补丁导致Delphi无法启动
- windows 2003 64位系统php运行报错:1%不是有效的win32应用程序解决办法
- Redis 安装与使用 (windows 64位系统)
- Ruby on Rails + MySQL在windows64位系统上的配置
- 64位读取注册表与32位的区别
- Windows Embedded Compact 7中的文件系统和注册表管理(上)
- C++ 操作64位系统,默认读取Wow6432Node子键的解决方法。
- Win7 64位系统,Anaconda(Anaconda3-4.3.1-Windows-x86_64) 中安装tensorflow(r 0.12.1)
- MySQL学习第四天 Windows 64位系统下使用MySQL
- windows 系统在vs2010 中配置libxml2,及读取xml代码例子