通常你这种情况,是在目标机器上面没有对应的DLL或者ocx之类的控件造成的,想要解决这个问题有两种方法,一种是写一个.bat或者其直接在命令行中执行命令把目标机器上先注册一下:regsvr32 xxx.ocx (xxx是你程序里面用到的需要先注册的ocx文件名)
如果感觉不方便可以写个bat文件
@echo off
copy mswinsck.ocx c:\windows\system32\
c:
cd windows\system32\
regsvr32 mswinsck.ocx
echo 完成
pause
第二个方法就是你把自己写好的程序打包做成安装程序,在使用之前先安装程序,安装的时候就对对应的控件进行复制并注册,这样就可以了。vb有一个自带的打包工具:Package & Deployment 向导,通常只要不是绿色版的VB里面应该都安装了这个工具。
但是需要注意的是在Windows 7里面已经取消了对老版本的ocx控件的支持,所以为了你的程序的可移植性和通用性,最好你能够使用vb.net或者其它更高级的编程语言来编写。
只要你完全打包后,不会有问题,我自己编的软件,在哪个机子上都可以用,很多机子都没有装vb,但是如果没有打包好的话会报错。