注册 登录
编程论坛 VB6论坛

求教:怎么解决----VB6用脚本读取注册表键值的代码不能执行

lxlyhu 发布于 2014-12-23 11:29, 662 次点击
求教:怎么解决----脚本读取注册表键值的代码不能执行
          根据脚本代码regread读取注册表键值(是否设置了密码保护true/false)来决定哪个窗体显示, 做成标准exe后,代码在WIN 7上不能执行!!!
          只有在安装了VB6的WIN 7上才可以执行(打开窗体)!
         是什么原因??? 怎么解决此类问题???
具体代码如下:
CreateObject("wscript.shell").regwrite "HKEY_CLASSES_ROOT\ScriptEngine\myapp", "true", "REG_SZ"      
a = CreateObject("wscript.shell").regread("HKEY_CLASSES_ROOT\ScriptEngine\myapp")         
以上为脚本代码    -----编译成exe后,在没有安装VB6的WIN 7 上不能执行!!!怎么解决???



[ 本帖最后由 lxlyhu 于 2014-12-23 11:41 编辑 ]
8 回复
#2
lxlyhu2014-12-23 11:33
只有本站会员才能查看附件,请 登录

以上为已经编译的程序
#3
lxlyhu2014-12-23 11:38
CreateObject("wscript.shell").regwrite "HKEY_CLASSES_ROOT\ScriptEngine\myapp", "true", "REG_SZ"      
 a = CreateObject("wscript.shell").regread("HKEY_CLASSES_ROOT\ScriptEngine\myapp")         
以上为脚本代码    -----编译成exe后,在没有安装VB6的WIN 7 上不能执行!!!怎么解决???

[ 本帖最后由 lxlyhu 于 2014-12-23 11:39 编辑 ]
#4
lzxmz2014-12-23 14:05
声明HKEY_CLASSES_ROOT,
REG_SZ
了吗?
#5
lxlyhu2014-12-23 15:08
刚才又调试了:怀疑可能是在读取注册表信息失败(错误)时,造成的。
采取了以下方法:即读取注册表(是否保护)失败时显示窗体1
on error goto okstart
……读取注册表(是否保护),并决定显示哪个窗体
okstart:
myform1.show 。

以上代码调试没有问题。

证明一个问题:不是读取注册表时失败导致的!可能还是程序兼容性问题!!!

哪位高手知道:用 VB6 制作的标准exe软件,在没有安装 VB6  的WIN 7 中窗体无法显示出来!!!怎么解决???

[ 本帖最后由 lxlyhu 于 2014-12-23 15:14 编辑 ]
#6
lxlyhu2014-12-23 15:23
在安装了VB6的 WIN 7 中可以正常打开(显示窗体),在没有安装VB6的WIN 7中无法显示窗体

怪事了,原先开发的“数据库查询系统”又没问题,扩展后怎么显示不出来了???而且又没加其它控件
就是窗体不显示!!!查看安装位置,已经安装


在自己的电脑win xp上没问题,在其它的电脑win 7 + vb6上也没问题,没装VB6就不行了!!!
#7
xzlxzlxzl2014-12-23 19:15
查下WSHom.Ocx文件在不,wscript.shell是靠它完成的。
#8
lxlyhu2014-12-24 09:49
谢谢版主!!问题已经解决!是缺少一个控件(多页控件)
#9
lxlyhu2014-12-24 09:49
只有本站会员才能查看附件,请 登录

现在这个就没问题了
1