VB编程动态注册ActiveX控件
发布时间:2020-12-16 23:50:22 所属栏目:大数据 来源:网络整理
导读:在使用VB和其它一些Win9X下的编程软件,就要同ActiveX控件打交道,注册 和反注册控件是一件令人很头疼的事情。有时从网上下载了一个控件,但是在使用 时VB总是提示控件没有注册。又或者想删除一个控件却无法从注册中抹去。 实际上,每一个ActiveX控件都有两个
在使用VB和其它一些Win9X下的编程软件,就要同ActiveX控件打交道,注册
和反注册控件是一件令人很头疼的事情。有时从网上下载了一个控件,但是在使用 时VB总是提示控件没有注册。又或者想删除一个控件却无法从注册中抹去。 实际上,每一个ActiveX控件都有两个输出函数:DllRegisterServer和 DllUnRegisterServer。顾名思义,通过这两个函数就可以注册和反注册控件了, 下面通过程序说明如何通过编程来注册。 首先在Form中加入两个CommandButton,不要改变它们的属性。然后在Form中 加入如下代码: Private Declare Function RegComCtl32 Lib "ComCtl32.OCX" _ Alias "DllRegisterServer" () As Long Private Declare Function UnRegComCtl32 Lib "ComCtl32.OCX" _ Alias "DllUnregisterServer" () As Long Private Declare Function FormatMessage Lib "kernel32" _ Alias "FormatMessageA" (ByVal dwFlags As Long,_ lpSource As Any,ByVal dwMessageId As Long,_ ByVal dwLanguageId As Long,ByVal lpBuffer _ As String,ByVal nSize As Long,Arguments As _ Long) As Long Private Declare Function GetLastError Lib "kernel32" () As Long Const ERROR_SUCCESS = &H0 Private Sub Command1_Click() Dim astr As String '反注册ComCtl32.Ocx If RegComCtl32 = ERROR_SUCCESS Then MsgBox "注册成功" Else astr = String$(256,20) FormatMessage FORMAT_MESSAGE_FROM_SYSTEM Or _ FORMAT_MESSAGE_IGNORE_INSERTS,0&,GetLastError,_ 0&,astr,Len(astr),ByVal 0 MsgBox astr End If End Sub Private Sub Command2_Click() Dim astr As String '反注册ComCtl32.Ocx If UnRegComCtl32 = ERROR_SUCCESS Then MsgBox "反注册成功" Else astr = String$(256,ByVal 0 MsgBox astr End If End Sub 运行程序,点击Command2反注册ComCtl32.Ocx控件,在VB菜单中选 Project|components 或按Ctrl+T,在控件列表框中可以看到已经没有ComCtl32.Ocx了。再运行程序,点击Command1 重新注册控件。 以上程序再VB5,WIN95下运行通过。 http://www.applevb.com/art/Control.txt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |