如何将32位的文件转换为64位的?

1个回答
展开全部
摘要 把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。
咨询记录 · 回答于2021-12-05
如何将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。
方法有点繁琐,需要您认真看一下。希望能帮到亲哦。
我想问一下
您说
为什么我电脑win11上面系统显示是64位的
装的软件怎么都会装成32的呢
win11支持64位的。
不知道您装的是什么软件?装软件不需要设置几位的,它会自动匹配电脑。
现在软件的时候不需要设置的。
可是我想下载游戏都是32位的太卡
如果是电脑软件下载的时候,它会提示32位或64位。如果没有提示32位或64位就直接下载就行了。
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消