VB控件注册 - 利用资源文件将dll、ocx打包进exe文件
2012-05-08 08:26
507 查看
很多时候自定义或者引用控件都需要注册才能使用,但是如何使要注册的dll或ocx打包到exe中,使用户下载以后看到
现在介绍一下使用资源文件,将dll、ocx打包进exe,点击直接注册的例子:
首先,新建一个工程,在“外接程序”->“外接程序管理器”->“VB 6 资源管理器” 添加资源文件,可以讲图标、image等文件添加进去,这里我们添加的是ocx。添加后保存会生成一个.reg文件,就是我们的资源文件。
接下来,新建一个模块,注册ocx的函数,代码如下:
[align=left] [/align]
'新建一个模块
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias _
"GetSystemDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
Public Sub RegsvrFile(ByVal ResourceID As Integer, strFormat As String, strFileName As String)
Dim bytArr() As Byte
Dim strSystemPath As String
Dim Filenum As Long
'on error resume next
strSystemPath = String(255, 0)
GetSystemDirectory strSystemPath, 256
strSystemPath = Left(strSystemPath, InStr(1, strSystemPath, Chr(0)) - 1)
bytArr = LoadResData(ResourceID, strFormat)
Filenum = FreeFile
Open strSystemPath & "/" & strFileName For Binary As #Filenum
Put #1, , bytArr
Close #Filenum
Call Shell("regsvr32 " + strFileName, vbHide)
End Sub
最后,在主窗体中调用:
Option Explicit
Private Sub Form_Load()
RegsvrFile 101, "CUSTOM", "dsoframer.ocx"
RegsvrFile 102, "CUSTOM", "dsoframerctl.ocx"
Unload Me
End Sub
现在介绍一下使用资源文件,将dll、ocx打包进exe,点击直接注册的例子:
首先,新建一个工程,在“外接程序”->“外接程序管理器”->“VB 6 资源管理器” 添加资源文件,可以讲图标、image等文件添加进去,这里我们添加的是ocx。添加后保存会生成一个.reg文件,就是我们的资源文件。
接下来,新建一个模块,注册ocx的函数,代码如下:
[align=left] [/align]
'新建一个模块
Option Explicit
Private Declare Function GetSystemDirectory Lib "kernel32" Alias _
"GetSystemDirectoryA" (ByVal lpBuffer As String, _
ByVal nSize As Long) As Long
Public Sub RegsvrFile(ByVal ResourceID As Integer, strFormat As String, strFileName As String)
Dim bytArr() As Byte
Dim strSystemPath As String
Dim Filenum As Long
'on error resume next
strSystemPath = String(255, 0)
GetSystemDirectory strSystemPath, 256
strSystemPath = Left(strSystemPath, InStr(1, strSystemPath, Chr(0)) - 1)
bytArr = LoadResData(ResourceID, strFormat)
Filenum = FreeFile
Open strSystemPath & "/" & strFileName For Binary As #Filenum
Put #1, , bytArr
Close #Filenum
Call Shell("regsvr32 " + strFileName, vbHide)
End Sub
最后,在主窗体中调用:
Option Explicit
Private Sub Form_Load()
RegsvrFile 101, "CUSTOM", "dsoframer.ocx"
RegsvrFile 102, "CUSTOM", "dsoframerctl.ocx"
Unload Me
End Sub
相关文章推荐
- 控件注册 - 利用资源文件将dll、ocx打包进exe文件(C#版)
- 控件注册 - 利用资源文件将dll、ocx打包进exe文件(VB版)
- 控件注册 - 利用资源文件将dll、ocx打包进exe文件(C#版)
- VB-控件注册 - 利用资源文件将dll、ocx打包进exe文件
- 控件注册 - 利用资源文件将dll、ocx打包进exe文件(转)
- 现在介绍一种使用资源文件,将dll、ocx打包进exe,点击直接注册的例子:
- 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装
- 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装
- 利用cx_Freeze将py文件打包成exe文件
- 利用MAVEN打包时,如何包含更多的资源文件
- 如何使用iexpress把ocx,dll等文件打包成cab文件
- 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装
- 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装
- 教你如何注册DLL或OCX文件
- 利用MAVEN打包时,如何包含更多的资源文件
- 利用MAVEN打包时,如何包含更多的资源文件
- 将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装
- Delphi 中将一些 Dll等生成资源文件打包成一个独立的EXE程序方法步骤
- 将ocx和DLL文件打包成cab文件,IE浏览器在线安装
- 利用MAVEN打包时,如何包含更多的资源文件