VB6 编译的32位程序,要对64位注册表操作,代码怎样写?
vb吧
全部回复
仅看楼主
level 1
zww3008 楼主
关闭文件重定向可以用:
Call Wow64DisableWow64FsRedirection
那,对注册表呢?
2016年12月21日 12点12分 1
level 1
zww3008 楼主
查了很多资料,关于VB6操作64位注册表的太少了。仅仅只有API方法,如:
RegCreateKeyEx(lRootkey, sKeyName, 0, vbNullString, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS|KEY_WOW64_64KEY, SecAttr, handle, retVal)
我就不明白了,如果有大量的对注册表的读、写、建、删,那还得每一条语句都来指定权限?
而其他很多编程语言都有比较方便的一个开关,在段前段尾分别使用对64位注册表操作的开关指令即可。
2016年12月21日 15点12分 2
吧务
level 13
以下是【BAT】格式的注册命令。如果要用在VB中,请使用 Shell 函数来运行其中的主要命令。
2016年12月21日 15点12分 3
level 1
zww3008 楼主
谢谢。不过你回答的不是我的问题。你这是解决文件 重定向,以及DLL注册的问题。64位系统本地执行BAT反而不转向,你还得写两个版本,更麻烦。如果编译成32位的EXE来执行你的要求,反而简单,只需要同一个32位的版本就行了。
2016年12月21日 17点12分 4
你想直接去操作64位的注册表,估计比32位麻烦些。
2016年12月21日 17点12分
现在已有方法,只是我查到,看不懂
2021年07月28日 01点07分
level 1
楼主,想问你个问题,可以发邮件到我邮箱?[email protected]
2017年12月07日 06点12分 5
level 1
没明白的意思 就是32位操作系统上编译一个vb程序 拿到64位操作系统上 操作注册表吗
2018年01月04日 08点01分 6
level 13
无论在32位还是64位下都可以编译VB6程序(64位系统可以兼容32位程序),操作注册表时如果系统是64位会自动定位到Wow6432Node节点下,所以操作不了64位的注册表,可以用RegCreateKeyEx操作,这个函数xp系统也支持的,要支持更多操作系统需要找共同的函数,否则操作注册表时还在判断是64位还是32位系统分别调用不同的函数
2021年07月28日 01点07分 7
1