当前位置:首页 > 电脑 > 正文

会声会影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); }

 


 

本博客资源若无特殊说明,均为和谐版本,无需付费,我不搞软件的会员,也不接受指定的和谐业务。

软件无法下载/安装/其它电脑问题,免费加QQ群(500人):949039296

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

想打赏微信扫右边的二维码,不建议超过10元,没指望靠这个养活我

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

3 条评论

评论加载中...
  1. 地板
    梦浪  

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

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

    各种懵逼

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

    大师笔记·····

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

发表评论

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

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