VB 所使用的OCX的路径问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 18:07:03
网上说把所用的OCX放到EXE同目录下就可以移动到其他电脑上用了,我试过了的确是这样,但如果在没装VB的电脑上执行一次程序可以正常运行,把这些文件剪切到另一个位置,就会先提示xxx.ocx没有正确注册.然后每次启动程序都检测一个程序中用到的控件,直到所有控件都检查了一遍并提示类似错误,才可以正常运行,有什么办法解决这个问题?
就是不想打包做成绿色文件

那你就写个代码把所有当前目录下的OCX全部复制到System32目录下就没事了

你画一个File1
在Form_Load插入代码:
Private Sub Form_Load()
On Error Resume Next
Path = App.Path & "\"
File1.Pattern = "*.ocx"
File1.Path = Path
For i = 0 To File1.ListCount - 1
If FileLen("c:\windows\system32\" & File1.List(i)) = 0 Then FileCopy Path & File1.List(i), "c:\windows\system32\" & File1.List(i)
Next
End Sub

其实这也符合绿色软件的标准的,因为不需要用户安装,程序自动安装注册这也是绿色

如果你想完全摆脱OCX,完全独立一个exe,只要你的技术成熟也不是不可以,现在我都可以不使用Windows Common Control和Common Dialog Control来写出同样效果的程序了,但是这要你有相当高的windows开发经验

用打包工具将OCX与EXE一起打包,这样移到哪都行。