用API函數也可以,以你需要的 mscomm32.ocx 控件為例
如光驅為F:\ 此mscomm32.ocx控件在 F:\OCX\mscomm32.ocx
在程序中最好是定義一個 CommonDialog 打開對話框去查詢此控件,<文件路徑寫死在程序中不太好>
1.程序運行時<打開>對話框取得它的路徑
2.FileCopy將它Copy到你的App.Path 下<不一定要以System32下的>
3.在程序中定義一個API
Public Declare Function RegMsComm32 Lib "mscomm32.ocx" Alias "DllRegisterServer"
() as Long '<此函數名可以自己改>
在調用時就可以
If RegMsComm32()<>&h0 Then
'成功
Else
'失敗
End IF
If myCopyFile(SrcFileName, DstFileName, ErrStr) = True Then
ShellExecute hWnd, "open", "regsvr32.exe", "mscomm32.ocx", 0, 0
end if
End Sub
Private Function myCopyFile(ByVal SrcFileName As String, ByVal DstFileName As String, Optional ByRef ErrStr As String) As Boolean
On Error GoTo myErr
Dim fs As Object
Set fs = CreateObject("Scripting.FileSystemObject") '创建文件系统对象
If Not fs.FileExists(SrcFileName) Then
Err.Raise "1001", , "文件(" & SrcFileName & ")不存在"
End If
Set fs = CreateObject("Scripting.FileSystemObject") '创建文件系统对象
If fs.FileExists(DstFileName) Then
fs.DeleteFile DstFileName, True
End If
fs.CopyFile SrcFileName, DstFileName '复制文件到目标文件夹
myCopyFile = True
Exit Function
myErr:
myCopyFile = False
ErrStr = Err.Description
End Function