VB6开发的窗体程序中,如果使用了VB6基本控件以外的ActiveX控件,例如使用了通用对话框或者TreeView之类的第三方控件,生成的产品发到另外一台电脑上,通常打不开。
例如我开发了一个Inspect.exe的窗体应用程序,发到另一台电脑双击它启动不了,看到如下的提示请不要大惊小怪。
对话框的提示信息可以看出,COMDLG32.ocx控件没有注册。
下面讲一下ocx控件如何注册。
首先你的电脑要有这个ocx控件,如果磁盘中没有就需要从网上下载了,大家可以到我博客园主页找一下相应的资源。
***提示:对于负责人的开发者,一般会把需要的ocx和exe文件放在一起发给你。***
这里假设已经下载到 "D:VB6TestCOMDLG32.OCX"
然后以管理员身份启动命令提示符窗口(cmd窗口),该窗口默认的当前目录是C:WindowsSystem32
这里注意一下,下面要分两个情况来分别处理:
如果你的系统是32位,就直接在C:WindowsSystem32> 后面输入 regsvr32.exe "D:VB6TestCOMDLG32.OCX"
并且按回车。
如果你的系统是64位,需要用cd切换到SysWoW64文件夹下。也就是先输入cd C:WindowsSysWoW64,切换目录后再注册。
因为64位系统中有两个regsvr32.exe文件,SysWoW64文件夹下的这个专门用于注册32位ocx和dll。
看到注册成功的信息后,再次尝试双击Inspect.exe,如果能正常启动起来,那就OK了。如果又弹出其他Ocx的注册提示,那照着上面的法子再注册。