当前位置:首页 > 软件下载 > 正文

会声会影X9版本号修改工具-制作笔记3

2016072001

前几天接到zlzlzl老师的提议,制作此工具,以方便为论坛的老人们,现将遇到的一些问题写出来做一记录

问题三:32位软件写64位注册表被重定向

首先是扯犊子,win64位环境下操作32位软件会被重定向,由于我所使用的编译器为win32,故无法直接写入64位的注册表。

根据MSDN,以下注册表项也会被重定向。

HKEY_LOCAL_MACHINE\Software HKEY_USERS\*\Software\Classes HKEY_USERS\*_Classes 

32位进程想要访问64位注册表(或者64位进程想要访问32位注册表),需调用RegEnableReflectionKey和RegDisableReflectionKey关闭与开启注册表重定向,使用RegOpenKeyEx并通过设置samDesired 的KEY_WOW64_32KEY和KEY_WOW64_64KEY标志位来打开想要打开的注册表项

下为32位程序访问64位注册表的操作

#define KEY_WOW64_64KEY 256 #define KEY_WOW64_32KEY 512typedef bool (__stdcall *RegEnableReflectionKey )(HKEY);typedef bool (__stdcall *RegDisableReflectionKey)(HKEY);HINSTANCE libInst = LoadLibrary("Advapi32.dll"); if (!libInst) return false; //Couldn't load library RegEnableReflectionKey EnableReflectionKey=(RegEnableReflectionKey)GetProcAddress(libInst, "RegEnableReflectionKey"); RegDisableReflectionKey DisableReflectionKey=(RegDisableReflectionKey)GetProcAddress(libInst, "RegDisableReflectionKey"); if(DisableReflectionKey) { DisableReflectionKey(p_hKey); }#define KEY_WOW64_64KEY 256 #define KEY_WOW64_32KEY 512::RegOpenKeyEx(p_hKey, p_pSubKey, NULL, KEY_ALL_ACCESS|KEY_WOW64_64KEY, &hkey);if(EnableReflectionKey) { EnableReflectionKey(hkey); }

 


通知:博客已出售

粉丝可关注公众号:大学生的电脑课,获取最新动态。博客即将关闭

软件无法下载/安装/其它电脑问题,加企鹅群:709531763

有问题直接群里问,在线的时候有问必答,私聊一般都不看

想学电脑知识可以关注我的公众号

 大学生的电脑课
文章标题:会声会影X9版本号修改工具-制作笔记3
本文作者:慕若曦
发表日期:2016-08-5 04:53 星期五    首发于    慕若曦博客
本文固定链接: https://www.muruoxi.com/pc/404.html
文章标签:
上一篇: 下一篇:

3 条评论

评论加载中...
  1. 0楼
    梦浪  

    ~( ̄▽ ̄~)(~ ̄▽ ̄)~

    2016年8月6日 下午4:21 评论
  2. 0楼
    风情  

    各种懵逼

    2016年8月6日 上午9:59 评论
  3. 0楼
    姜辰  

    大师笔记·····

    2016年8月5日 下午5:50 评论

发表评论

╮( ̄▽ ̄)╭ | (= ̄ω ̄=) | (>﹏<) | Σ( ° △ °|||)︴ | Σ(っ °Д °;)っ | X﹏X | (╯-_-)╯╧╧

小提示:提交评论后刷新本页面即可看到隐藏的文件哦~
加载中……