如何把32位的注册表文件转换为64位的?
来源:互联网 发布:wsn网络分析器sniffer 编辑:程序博客网 时间:2024/06/05 19:20
问题:比如 我的系统是64位的WIN7,但下载的极品飞车14的注册表导入文件却是32位的,于是不能用,还好网上有人做了64位的导入文件。我想知道那些达人是怎么把32位的改成64位的?
把32位的注册表文件转换为64位的方法:
1.为了防止注册表键冲突,注册表在某些键也分成了两个部分。
2.一部分是专门给64位系统访问的,另一部分是专门给32位系统访问的,放在Wow6432Node下面。当32位程序去访问某些键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面。
3.Wow6432Node这个节点存在于HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER下面。Wow64DisableWow64FsRedirection和RegOpenKeyEx方法办到。RegOpenEx方法在C#中调用声明方法如下:
[DllImport("Advapi32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern uint RegOpenKeyEx( UIntPtr hKey,string lpSubKey, uint ulOptions,int samDesired,out IntPtr phkResult);
其中需要注意的是samDesired这个参数。这个参数可以取 KEY_ALL_ACCESS, KEY_QUERY_VALUE, KEY_WOW64_64KEY等值(详情可以查阅MSDN)。已经关闭了文件系统的转向,那么就可以利用:(KEY_QUERY_VALUE | KEY_WOW64_64KEY)来得到注册表的完全访问权限。这个地方需要注意的是,在Vista下面,有一些注册表项是只读的,如果用了KEY_ALL_ACCESS这个参数,就会出现“Access is denied” 这个错误(ErrorCode = 5)。因此,如果不是要写入注册表的话,不要使用KEY_ALL_ACCESS。
0 0
- 如何把32位的注册表文件转换为64位的?
- 32位程序如何访问64位的注册表
- 32位程序如何访问64位的注册表
- Win7 64位注册表与32位注册表的区别
- Win7 64位注册表与32位注册表的区别
- 64位读取注册表与32位的区别
- 64位读取注册表与32位的区别
- 64位读取注册表与32位的区别
- Android如何把图片转为深度为32位格式为.bmp的图片
- 32位QT程序读取64位系统的注册表中的64位安装软件
- 旧的身份证号吗(15位)如何转换为新的(18位)
- 将32位BMP文件转换为24位BMP
- 64位的win7系统, 32位的应用程序读取64位模式的注册表值失败
- 32位和64位的区别以及如何查看是32位还是64位
- 如何判断Unix系统的一个库文件是32位还是64位的
- 如何判断Unix系统的一个库文件是32位还是64位的【zz】
- 如何判断Unix系统的一个库文件是32位还是64位的
- [MinGW]_[初级]_[64位的windres如何编译出32位的链接文件]
- Git差异比对
- Spring MVC
- 生成验证码
- 史上最简单的 Spring MVC 教程(八)
- 计算网页运行时间
- 如何把32位的注册表文件转换为64位的?
- Shiro与SSH整合
- 公有云、私有云和混合云的区别
- linux 下 apache启动、停止、重启命令
- OpenWrt UCI 学习笔记
- JavaScript简介
- 分页符的使用
- 在页面中直接嵌入JavaScript代码
- 笔记 Java web实现用户登录、数据库数据查询、数据删除等功能