怎样做一个exe程序注册mscomm32.ocx控件???

zjwzt2008 2004-09-15 10:59:20
怎样做一个exe程序注册mscomm32.ocx控件???其中mscomm32.ocx控件放在光驱的根目录中,即首先拷贝到c:\winnt\system32\中,再运行regsvr32.exe文件???或者还有什么更高的方法?急。大家快快帮忙。
...全文
289 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bciAnson 2004-09-16
  • 打赏
  • 举报
回复
我想楼主的意思是想做安装文件和注册的。我上面的程序为了偷懒就写死了。
zichen66 2004-09-16
  • 打赏
  • 举报
回复
用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

ykwang 2004-09-16
  • 打赏
  • 举报
回复
不用这么烦吧
注册一个文件只要

shell regsvr32 路径+mscomm.ocx
就可以了
fxy_2002 2004-09-15
  • 打赏
  • 举报
回复
如果仅仅这么简单,做个 .bat 不是更好?
bciAnson 2004-09-15
  • 打赏
  • 举报
回复
'看看可不可以,要改一下的,不过思路就是这样的了
Private Sub cmdInstall_Click()
Dim SrcFileName As String
Dim DstFileName As String
Dim ErrStr As String

SrcFileName = App.Path & "\mscomm32.ocx"
DstFileName = "C:\winnt\system32\mscomm32.ocx"

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

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧