我是这样的,下面代码在加载VB窗口前执行,检查IE版本,检查各控件是否已装Sub CheckComponent() Dim strErr As String, strVer As String, IE As Object' 检查IE控件比较复杂,其它的较简单 Set IE = CreateObject("InternetExplorer.Application") IE.Navigate "about:blank" While TypeName(IE.document) = "Nothing" '等待IE控件创建完毕 DoEvents Wend strVer = IE.document.parentWindow.Navigator.appVersion If InStr(1, strVer, "MSIE 6") = 0 And InStr(1, strVer, "MSIE 7") = 0 Then strErr = "请安装Internet Explorer 6.0 或更高版本": Set IE = Nothing: GoTo NoActiveX Set IE = Nothing' 检查其它控件 On Error GoTo NoActiveX strErr = "请安装 ReadPlayer 或其播放控件" CreateObject "rmocx.RealPlayer G2 Control" strErr = "请安装 Macromedia Flash 或其播放控件" CreateObject "ShockwaveFlash.ShockwaveFlash" strErr = "请安装 Windows Media Player 或其播放控件" CreateObject "MediaPlayer.MediaPlayer.1" strErr = "请安装 ActiveX OLE DB (ADODB)(安装Office2000后即有)" CreateObject "ADODB.Connection" strErr = "请安装 Internet 传输控件" CreateObject "InetCtls.Inet" Exit SubNoActiveX: If Err = 429 Then MsgBox strErr '输出错误信息 End '结束程序 Else Err.Raise Err.Number End If End Sub然后在Sub Main里面 Sub Main() CheckComponet ' 执行其它检查过程和初始化设置 Load mdiMain '加载主窗口 End Sub
Dim strErr As String, strVer As String, IE As Object' 检查IE控件比较复杂,其它的较简单
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "about:blank"
While TypeName(IE.document) = "Nothing" '等待IE控件创建完毕
DoEvents
Wend
strVer = IE.document.parentWindow.Navigator.appVersion
If InStr(1, strVer, "MSIE 6") = 0 And InStr(1, strVer, "MSIE 7") = 0 Then strErr = "请安装Internet Explorer 6.0 或更高版本": Set IE = Nothing: GoTo NoActiveX
Set IE = Nothing' 检查其它控件
On Error GoTo NoActiveX
strErr = "请安装 ReadPlayer 或其播放控件"
CreateObject "rmocx.RealPlayer G2 Control" strErr = "请安装 Macromedia Flash 或其播放控件"
CreateObject "ShockwaveFlash.ShockwaveFlash" strErr = "请安装 Windows Media Player 或其播放控件"
CreateObject "MediaPlayer.MediaPlayer.1" strErr = "请安装 ActiveX OLE DB (ADODB)(安装Office2000后即有)"
CreateObject "ADODB.Connection" strErr = "请安装 Internet 传输控件"
CreateObject "InetCtls.Inet" Exit SubNoActiveX:
If Err = 429 Then
MsgBox strErr '输出错误信息
End '结束程序
Else
Err.Raise Err.Number
End If
End Sub然后在Sub Main里面
Sub Main()
CheckComponet
' 执行其它检查过程和初始化设置
Load mdiMain '加载主窗口
End Sub