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, 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
运行程序,点击Command2反注册ComCtl32.Ocx控件,在VB菜单中选 Project|components
或按Ctrl+T,在控件列表框中可以看到已经没有ComCtl32.Ocx了。再运行程序,点击Command1
重新注册控件。
以上程序再VB5,WIN95下运行通过。
http://www.applevb.com/art/Control.txt
VB编程动态注册ActiveX控件相关推荐
- 注册ActiveX控件简单方法及控件未被正确授权解决方案
最近编程的时候发现有些电脑上部分控件没有被注册,先把注册ActiveX控件的方法简单记录一下: 1.首先要确定你要缺少什么控件,需要注册: 2.在http://www.dll1.cn/ 下载相应的控件 ...
- 用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件
用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件 用C#编写ActiveX控件 开发浏览器控件这是本控件开发完成后的一个简单应用.我们可以利用它以本地文件夹为单位来批量更新服务器 ...
- vs2010串口开发(mscomm控件)_未在此计算机上注册ActiveX控件
1.简介 在vs2010做串口开发时,当使用mscomm控件时,如果没有注册MSCOMM32.OCX,在运行工程时会弹出"未在此计算机上注册ActiveX控件"这个警告,解决方法如 ...
- VISTA注册ActiveX控件出现 0x80040200的处理方法
在VISTA下注册ActiveX控制时可能会出现对DllRegisterServer的调用失败,错误代码为0x80040200的错误消息,引起这个错误的原因是启用了UAC检验系统,若要顺利注册模块,可 ...
- 自动注册activex控件
编写Delphi应用程序时,经常会遇到一些ActiveX控件[注:扩展名为OCX的控件或DLL的类型库],它们为应用程序的开发提供了简单的操作途径.然而,这些程序在发布的同时,面临ActiveX控件注 ...
- 【VS开发】动态创建ActiveX控件
bool CCollectDataDlgDlg::CreateMyCtrl(LPRECT lpRect, UINT nID, CWnd *pParent) { CLSID clsid; wstri ...
- 在Win7 64位注册ActiveX控件
首先必须以管理员身份运行cmd.exe,即在cmd.exe右键选择以管理员身份运行. 目前共有两个存在网络盘的文件需要注册,一个dll,一个ocx. 开始时将两个文件都拷贝到c:\wind ...
- MFC提示 未在此计算机上注册ActiveX控件“{648A5600-2C6E-101B-82B6-000000000014}“完美解决
下载一个MSCOMM32.OCX放到命令提示符指定路径下 下载链接:https://download.csdn.net/download/weixin_44322778/14026202 在命令行(注 ...
- 做VB的,经常注册和反注册OCX控件和DLL链
做VB的,经常注册和反注册OCX控件和DLL链 但是,每次都要 "开始"--"运行" --"regsvr32 C:\********\******.o ...
最新文章
- 俄罗斯 Android 系统受限,或将转用 HarmonyOS!
- java线程 yield_Java线程中yield与join方法的区别
- Java窗口(JFrame)从零开始(8)——文本框+文本域+密码框
- Linux / offsetof 和 container_of
- 深度学习表征的不合理有效性——从头开始构建图像搜索服务(二)
- velocity自定义函数_velocity基本语法和总结
- VMware:警惕 vSphere Web Client中的新漏洞
- XE7 Unit scope names
- Linux 配置Tomcat
- 关于WP7上音乐播放的嫉妒恶心的一些规则和解决方案。
- 搜狐校园“情感分析×推荐排序“算法大赛 AutoX方案 转载poteman
- GJB 8114编码标准检查软件产品简介
- CTF密码学——常见编解码及加解密总结
- vue3图片对比组件
- 关于复制粘贴快捷键失效问题的解决方法
- 如何充分使用腾讯云服务器
- [推荐]微软推出MSE 2010 Beta中文版 穆穆-movno1
- 【开源】23个优秀的机器学习数据集
- 《摄影测量学基础》光束法MATLAB程序
- 关于磁盘阵列和LVM
热门文章
- Linux多线程编程-互斥锁
- springboot集成elasticsearch7实现全文检索及分页
- 【第十一届“泰迪杯”数据挖掘挑战赛】泰迪杯c题爬虫采集数据(源码+数据)
- 新书推荐 | Java核心技术 卷II 高级特性(原书第11版)
- 计算机多媒体技术的思维导图,基于多媒体技术的思维导图在小学语文教学中的应用研究...
- android摄像头代码,android: 调用摄像头拍照(示例代码)
- OpenGL中环境光、漫反射、镜面反射对光的影响(如何被抽象成向量进行着色的)
- Elastic-Job的快速入门,三分钟带你体验分布式定时任务
- JavaWeb运行环境安装教程以及各个安装包
- 东软集团业务的波特五力模型分析