Office中国论坛/Access中国论坛
标题:
检测控件是否注册,并可自动注册
[打印本页]
作者:
wanshan
时间:
2009-11-27 14:15
标题:
检测控件是否注册,并可自动注册
本帖最后由 wanshan 于 2009-12-1 11:11 编辑
要想使自己编写的程序更实用和更专业,就需要用一些第三方控件。但是控件注册是个麻烦事,不可能每次打开都去注册一次,而自动检测控件是否注册,目前没有发现例子,经过多方查找资料,终于成功了,第一时间拿来与大家分享,希望能对你有所帮助!
图片演示的是手动注册的,附件中例子是自动注册。
[attach]40585[/attach]
作者:
yanwei82123300
时间:
2009-11-27 16:15
沙发
作者:
tmtony
时间:
2009-11-27 20:50
谢谢分享!!
作者:
c101
时间:
2009-11-27 20:59
谢谢分享
作者:
ZFL68622888
时间:
2009-11-27 21:41
不错
作者:
topses
时间:
2009-11-28 00:51
谢谢分享
顺便测试一下。
作者:
t小宝
时间:
2009-11-28 12:40
很有用的,谢谢分享!
作者:
ADAM
时间:
2009-11-28 21:26
很不错的启示
作者:
sagemeyou
时间:
2009-11-29 08:16
谢谢分享~~
作者:
zxklzxm1983
时间:
2009-11-29 08:43
赞赞赞
谢谢分享
作者:
apsfxc1
时间:
2009-12-1 08:34
这个不错,要支持
作者:
wanshan
时间:
2009-12-1 11:04
规范和改进了代码,一楼附件已更新!
Public Function chkCtr(Class As String) As Boolean '检测控件是否注册
On Error Resume Next
Dim tmpObj As Object
Set tmpObj = CreateObject(Class)
If tmpObj Is Nothing Then
chkCtr = False
Else
chkCtr = True
End If
End Function
Public Function ctrReg(ctrName As String, Optional regState As Boolean = False, Optional allowMsg As Boolean = False) As String '注册/反注册控件
'获取系统目录
Dim sysDir As String
sysDir = Environ("windir") & "\system32\" & ctrName
If regState Then '如果已注册
Shell "Regsvr32.exe " + sysDir + " /u /s"
MsgBox "控件:" & ctrName & "反注册成功!", vbOKOnly + vbInformation, Title
Else
If Dir(sysDir, vbDirectory) = "" Then '判断系统目录下是否有控件文件
Set FS = CreateObject("Scripting.FileSystemObject")
FS.copyfile CurrentProject.Path & "\" & ctrName, sysDir
End If
Shell "Regsvr32.exe " + sysDir + " /s"
If allowMsg Then MsgBox "控件:" & ctrName & "注册成功,需重启才能生效!", vbOKOnly + vbInformation, Title
End If
End Function
'自动检测并注册控件代码:
If chkCtr("BARCODEX.BarcodeXCtrl.1") = False Then Call ctrReg("barcodex.ocx")
'手动注册/反注册控件代码:
If MsgBox("请问您确定要" & IIf(Me.控件列表.Column(1), "反", "") & "注册控件" & Me.控件列表.Column(3) & "吗?", vbYesNo + vbQuestion, Title) = vbYes Then
Call ctrReg(Me.控件列表.Column(3), Me.控件列表.Column(1), True)
Me.控件列表.Requery
End If
作者:
67613188
时间:
2009-12-9 20:07
沙发
作者:
wuheng
时间:
2009-12-10 09:28
谢谢,学习了~~~~~~~~~~~``
作者:
goto2008
时间:
2009-12-10 10:00
谢谢分享
作者:
khmkhm
时间:
2014-7-26 21:17
谢谢分享
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3