环境: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返回的值不正确(转)相关推荐

  1. 如何在win7 64下安装ipython notebook

    登录 | 注册 seasermy的专栏 目录视图 摘要视图 订阅 如何在win7 64下安装ipython notebook 标签: windowsipython notebooknotebookca ...

  2. win7 64 下安装ubuntu14.04

    win7下安装ubuntu方法: * 使用win7下的自带的分区工具给ubuntu留出磁盘空间: 计算机 -> 右键菜单选择管理 -> 选择磁盘管理->选中最后的那个磁盘->右 ...

  3. win7 64下安装mysql-python报错的解决办法

    转自博客园楚狂人阿飞 原文地址:http://www.cnblogs.com/fireflow/p/4598526.html 最近要使用django进行项目开发,需要使用mysql-python模块. ...

  4. win7 64 位用VMware安装Ubantu 20130908

    初来乍到,记录一下在win7 64下用VMware安装Ubantu. 1. 关于VMware安装及后续Ubantu安装是参考:http://www.cnhonkerarmy.com/thread-10 ...

  5. WIn7虚拟机下运行H3CCloud出错问题

    在Win7虚拟机下运行H3cCloud,发现输入正确命令后,相同的vlan也ping不同,后查找了解到,需要把Win7虚拟机设置为 2个cpu,每个cpu 2个核心.重启电脑后,发现可以正常ping通

  6. 关于executeUpdate方法返回的值问题

    今天在项目中出现了一个问题,delete 语句使用executeUpdate方法后,如果是更新一条数则返回1,但是更新一条以上数据就出现返回0的问题,我一直以为executeUpdate返回更新的条数 ...

  7. Win7 64位下注入工具

    搜索到这里,相信你一定是在Win7 或者5.0以上 64位win系统下尝试注入时遇到了错误,具体错误值为5,贴到ErroLookup上显示为:拒绝访问,本工具可以帮你解决这个问题,测试环境为Win7 ...

  8. Win7 64的cmd控制台进入下级目录和返回上级目录(上级目录cd .. 下级目录cd+文件名称)

    本博客主要总结在win7 64位系统下,在cmd控制台,一级一级进入目录.然后再一级一级返回上一级目录,具体的如下面所述. 背景知识: a1.进入下一级目录命令:        cd 文件夹名称   ...

  9. EZ-USB 68013在WIN7 64位下驱动识别方法

    WIN7  32位的没调过,应该 不难.之前用的实验室的电脑,是XP的,都没问题,顺利识别安装了.现在用自己的WIN7  64位电脑却不行了. 其实cypress的安装包里有个说明文件.按照上面说的做 ...

最新文章

  1. 为什么经营婚姻要像热恋一样
  2. subprocess installed post-installation script returned error exit status 1
  3. IHttpHandler的学习(0)
  4. pwn学习总结(一) —— 常用命令
  5. python查看文件夹文件的所有权限,Python判断某个用户对某个文件的权限
  6. 【Python基础】Python处理文件的几个常用小知识
  7. 蓝桥杯2017初赛-分巧克力-二分
  8. [AtCoder Beginner Contest 216] 题解
  9. d3 canvas_D3和Canvas分3个步骤
  10. CSS color设置与调色板
  11. php 处理vue上传图片 base64_encode file_put_contents file_get_contents
  12. [BZOJ4872][六省联考2017]分手是祝愿(期望DP)
  13. 《构建之法》第1.2.3章读后感 以及《硅谷传奇》观后感
  14. 计算机表格斜杠怎么打,excel表格打斜杠的方法步骤图详解
  15. leetcode解题思路分析(一百二十八)1053 - 1078 题
  16. 如何用文献管理软件Endnote X9插入参考文献
  17. Ubuntu系统在VMWare中鼠标闪烁的问题解决方案
  18. Python+Vue计算机毕业设计教师教学质量评价管理2lbw7(程序+LW+源码+部署)
  19. idea通过添加补丁来破解
  20. K660E I7 D4 clover 引导黑苹果完美驱动

热门文章

  1. 情人节程序员用HTML网页表白【粒子动画】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  2. 牛客网-SQL题库笔记
  3. Vue textarea 和input 开发ios点击空白地方键盘不收起问题
  4. 制作Python数字华容道(可选择关卡)
  5. linux系统乌班图18.04安装xenomai3.1,内核4.9.38
  6. Vue 和 jQuery 两者之间的区别是什么?
  7. 漂洋过海,与Splunk第一次近距离接触!
  8. c语言的链表实验总结,链表实现集合实验报告_相关文章专题_写写帮文库
  9. 演讲实录丨王士进 人工智能开启智慧教育新模式
  10. PinyinMatch实现拼音匹配,分词、缩写、多音字匹配能力