winsock是第三方控件,你在使用时候不是先从部件栏里勾选出来的嘛?这类第三方控件VB默认的打包是不会被打在包里的,实际上每个第三方控件都是在system32文件夹里有对应的.ocx等文件组组成的,而VB默认的打包只是把界面打成EXE,不会触及.ocx等配套文件的,所以用VB打出来的exe文件碰到第三方控件就无能为力了。
有个比较方便的解决方法就是找一些专门做打包的软件来打包,我用的是SetupFactory这款软件,通过它打包出的结果是得到一个exe的安装程序,它会把所有要用的ocx组件都自动检测打包进去,并且在安装时自动安装进去,当然此类软件还有蛮多的。
用了第三方控件,其实只要是你在工具箱单独添加了的控件(这些控件只有装了VB才有,别人的机子上不一定有这些控件文件),可以把它们从Windows/system32下面考出来,和你的EXE放在一起,这样在别人的机子上也就能使用了
你可能使用第三方控件了,某些控件的文件只有在装VB之后才能导入到win32中,而且你使用的控件必须在另外的电脑上也安装,并且注册成功方能正常使用。
运行一下打包后包文件夹的bat文件就好了