win7 64下RegOpenKeyEx返回的值不正确(转)
环境:win7 64位,vs2010,32位dll应用程序
HKEY hkey;// if exist "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime",returnif(RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Apple Computer, Inc.\\QuickTime"), 0, samDesiredOpen, &hkey) == ERROR_SUCCESS){RegCloseKey(hkey);return 0;}// create keyif(RegCreateKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Apple Computer, Inc.\\QuickTime"), &hkey) != ERROR_SUCCESS)return 0;
本来是想手动新建注册表项,结果注册表明明没东西,却返回ERROR_SUCCESS,百度一下
解决:
使用RegEnableReflectionKey/RegDisableReflectionKey,并且加上KEY_WOW64_64KEY
需要先判断是不是64位操作系统
void SafeGetNativeSystemInfo(__out LPSYSTEM_INFO lpSystemInfo)
{if (NULL==lpSystemInfo) return;typedef VOID (WINAPI *LPFN_GetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);LPFN_GetNativeSystemInfo fnGetNativeSystemInfo = (LPFN_GetNativeSystemInfo)GetProcAddress( GetModuleHandle(_T("kernel32")), "GetNativeSystemInfo");;if (NULL != fnGetNativeSystemInfo){fnGetNativeSystemInfo(lpSystemInfo);}else{GetSystemInfo(lpSystemInfo);}
}
再操作注册表
REGSAM samDesiredOpen = KEY_ALL_ACCESS;
SYSTEM_INFO si;
SafeGetNativeSystemInfo(&si);
if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64 )
{samDesiredOpen |= KEY_WOW64_64KEY;
}
RegEnableReflectionKey(HKEY_LOCAL_MACHINE);
HKEY hkey;
// if exist "HKEY_LOCAL_MACHINE\SOFTWARE\Apple Computer, Inc.\QuickTime",return
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Apple Computer, Inc.\\QuickTime"), 0, samDesiredOpen, &hkey) == ERROR_SUCCESS)
{RegCloseKey(hkey);return 0;
}
RegDisableReflectionKey(HKEY_LOCAL_MACHINE);
参考:http://bbs.csdn.net/topics/380026254
http://bbs.pediy.com/showthread.php?t=159321
http://wenku.baidu.com/link?url=NtpRZQ-6SFkgjCSJTdmnEVlRO233YiKx0Ukvh0HZcu3zSDsUQQXCK2g-KoBeld-s-t46VNsrRPh3O0bAqmwkWuv0Pc_Y4Nvm2B_pk-gZZ3K
https://msdn.microsoft.com/en-us/library/ms724897%28v=VS.85%29.aspx
https://msdn.microsoft.com/en-us/library/ms724072%28v=vs.85%29.aspx
win7 64下RegOpenKeyEx返回的值不正确(转)相关推荐
- 如何在win7 64下安装ipython notebook
登录 | 注册 seasermy的专栏 目录视图 摘要视图 订阅 如何在win7 64下安装ipython notebook 标签: windowsipython notebooknotebookca ...
- win7 64 下安装ubuntu14.04
win7下安装ubuntu方法: * 使用win7下的自带的分区工具给ubuntu留出磁盘空间: 计算机 -> 右键菜单选择管理 -> 选择磁盘管理->选中最后的那个磁盘->右 ...
- win7 64下安装mysql-python报错的解决办法
转自博客园楚狂人阿飞 原文地址:http://www.cnblogs.com/fireflow/p/4598526.html 最近要使用django进行项目开发,需要使用mysql-python模块. ...
- win7 64 位用VMware安装Ubantu 20130908
初来乍到,记录一下在win7 64下用VMware安装Ubantu. 1. 关于VMware安装及后续Ubantu安装是参考:http://www.cnhonkerarmy.com/thread-10 ...
- WIn7虚拟机下运行H3CCloud出错问题
在Win7虚拟机下运行H3cCloud,发现输入正确命令后,相同的vlan也ping不同,后查找了解到,需要把Win7虚拟机设置为 2个cpu,每个cpu 2个核心.重启电脑后,发现可以正常ping通
- 关于executeUpdate方法返回的值问题
今天在项目中出现了一个问题,delete 语句使用executeUpdate方法后,如果是更新一条数则返回1,但是更新一条以上数据就出现返回0的问题,我一直以为executeUpdate返回更新的条数 ...
- Win7 64位下注入工具
搜索到这里,相信你一定是在Win7 或者5.0以上 64位win系统下尝试注入时遇到了错误,具体错误值为5,贴到ErroLookup上显示为:拒绝访问,本工具可以帮你解决这个问题,测试环境为Win7 ...
- Win7 64的cmd控制台进入下级目录和返回上级目录(上级目录cd .. 下级目录cd+文件名称)
本博客主要总结在win7 64位系统下,在cmd控制台,一级一级进入目录.然后再一级一级返回上一级目录,具体的如下面所述. 背景知识: a1.进入下一级目录命令: cd 文件夹名称 ...
- EZ-USB 68013在WIN7 64位下驱动识别方法
WIN7 32位的没调过,应该 不难.之前用的实验室的电脑,是XP的,都没问题,顺利识别安装了.现在用自己的WIN7 64位电脑却不行了. 其实cypress的安装包里有个说明文件.按照上面说的做 ...
最新文章
- 为什么经营婚姻要像热恋一样
- subprocess installed post-installation script returned error exit status 1
- IHttpHandler的学习(0)
- pwn学习总结(一) —— 常用命令
- python查看文件夹文件的所有权限,Python判断某个用户对某个文件的权限
- 【Python基础】Python处理文件的几个常用小知识
- 蓝桥杯2017初赛-分巧克力-二分
- [AtCoder Beginner Contest 216] 题解
- d3 canvas_D3和Canvas分3个步骤
- CSS color设置与调色板
- php 处理vue上传图片 base64_encode file_put_contents file_get_contents
- [BZOJ4872][六省联考2017]分手是祝愿(期望DP)
- 《构建之法》第1.2.3章读后感 以及《硅谷传奇》观后感
- 计算机表格斜杠怎么打,excel表格打斜杠的方法步骤图详解
- leetcode解题思路分析(一百二十八)1053 - 1078 题
- 如何用文献管理软件Endnote X9插入参考文献
- Ubuntu系统在VMWare中鼠标闪烁的问题解决方案
- Python+Vue计算机毕业设计教师教学质量评价管理2lbw7(程序+LW+源码+部署)
- idea通过添加补丁来破解
- K660E I7 D4 clover 引导黑苹果完美驱动
热门文章
- 情人节程序员用HTML网页表白【粒子动画】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
- 牛客网-SQL题库笔记
- Vue textarea 和input 开发ios点击空白地方键盘不收起问题
- 制作Python数字华容道(可选择关卡)
- linux系统乌班图18.04安装xenomai3.1,内核4.9.38
- Vue 和 jQuery 两者之间的区别是什么?
- 漂洋过海,与Splunk第一次近距离接触!
- c语言的链表实验总结,链表实现集合实验报告_相关文章专题_写写帮文库
- 演讲实录丨王士进 人工智能开启智慧教育新模式
- PinyinMatch实现拼音匹配,分词、缩写、多音字匹配能力