欢迎来到入门教程网!

vb

当前位置:主页 > 软件编程 > vb >

VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法

来源:本站原创|时间:2020-01-10|栏目:vb|点击:

通常用VB 写的程序在32位系统上可以正常的运行,但到了64位系统中虽然可以运行但是无法修改OEM信息。经过查找原因可以发现,当我们在访问文件夹"SYSTEM32"的时候系统会自动转向到文件夹"SYSWOW64"下,当我们在访问某些注册表键值的时候,和文件转向类似,系统也会自动地把程序的访问转向到Wow6432Node下面。

先来谈谈文件系统的转向,查找了一些资料,并没有VB相关的资料,但是可以查到2个相关函数:Wow64DisableWow64FsRedirection(关闭系统转向)和Wow64RevertWow64FsRedirection(打开系统转向)。
VB的声明如下:

Private Declare Function Wow64RevertWow64FsRedirection Lib "kernel32.dll" ()
Private Declare Function Wow64DisableWow64FsRedirection Lib "kernel32.dll" ()

然后用CALL Wow64DisableWow64FsRedirection语句来关闭文件系统的转向。

再来谈谈注册表项的转向:

这个依然没有VB方面的资料,但是知道有函数RegOpenEx(VB有这个函数,用法见API浏览器)可以决定是否转向,只要在函数的samDesired【Long】参数上加256(&H100)就可以访问64位的注册表了。由于API访问注册表代码较多就不往上贴了。

上一篇:vbscript获取文件的创建时间、最后修改时间和最后访问时间的方法

栏    目:vb

下一篇:BAT批处理、VBScript批量安装字体脚本分享

本文标题:VB的32位程序在64位系统中出现文件和注册表自动转向的解决方法

本文地址:https://www.xiuzhanwang.com/a1/vb/7222.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有