VB6開發的窗體程序中,如果使用了VB6基本控件以外的ActiveX控件,例如使用了通用對話框或者TreeView之類的第三方控件,生成的產品發到另外一台電腦上,通常打不開。
例如我開發了一個Inspect.exe的窗體應用程序,發到另一台電腦雙擊它啟動不了,看到如下的提示請不要大驚小怪。
對話框的提示信息可以看出,COMDLG32.ocx控件沒有注冊。
下面講一下ocx控件如何注冊。
首先你的電腦要有這個ocx控件,如果磁盤中沒有就需要從網上下載了,大家可以到我博客園主頁找一下相應的資源。
***提示:對於負責人的開發者,一般會把需要的ocx和exe文件放在一起發給你。***
這里假設已經下載到 "D:\VB6Test\COMDLG32.OCX"
然后以管理員身份啟動命令提示符窗口(cmd窗口),該窗口默認的當前目錄是C:\Windows\System32
這里注意一下,下面要分兩個情況來分別處理:
如果你的系統是32位,就直接在C:\Windows\System32> 后面輸入 regsvr32.exe "D:\VB6Test\COMDLG32.OCX"
並且按回車。
如果你的系統是64位,需要用cd切換到SysWoW64文件夾下。也就是先輸入cd C:\Windows\SysWoW64,切換目錄后再注冊。
因為64位系統中有兩個regsvr32.exe文件,SysWoW64文件夾下的這個專門用於注冊32位ocx和dll。
看到注冊成功的信息后,再次嘗試雙擊Inspect.exe,如果能正常啟動起來,那就OK了。如果又彈出其他Ocx的注冊提示,那照着上面的法子再注冊。