调用浏览器访问某一网址(页)是软件中常见的功能。本文总结在
vb编程中调用浏览器访问网页的三种方法: Shell 函数、 ShellExecute API 函数和 Automation 对象技术。
Shell 函数:
使用VB Shell 函数直接执行浏览器可执行文件是调用浏览器访问网页的最简单方法。 如:
Dim Result As Variant
Result = Shell("C:\Program Files\Plus!\Microsoft Internet\IExplore.exe http://www.ccw.com.cn", vbMaximizedFocus)
If Result = 0 Then
MsgBox "浏览器调用错误!", vbOKOnly + vbCritical, "错误!", 0, 0
End If
Shell 函数执行成功,返回代表这个
程序任务ID值,若不成功,则返回0值 。
ShellExecute API 函 数:
Win32 API 函数 ShellExecute 提供了调用浏览器的另一种方法:
API函数声明 :
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long,ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
函数返回值为大于32的整数表明成功执行调用,小于或等于32表明调用失败。
例如:
Dim Result
Result = ShellExecute(0, vbNullString, "http://www.ccw.com.cn", vbNullString, vbNullString, SW_SHOWNORMAL)
If Result <= 32 Then
MsgBox "调用浏览器错误!", vbOKOnly + vbCritical, "错误:", 0
End If
使用Automation对象:
微软的 Automation 技术为调用IE浏览器提供了新的方法:使用 Internet Explorer 对象。 Internet Explorer 对象保存在名为 InternetExplorer 的类中,该类是 SHDocVw 对象库的一个成员。
在 VB 中
程序中引用 Internet Explorer 对象 :在"工程"菜单中单击"引用",在弹出对话框中选择"Microsoft Internet Controls"(SHDOCVW.DLL),就把对 Internet Explorer对象库的引用添加到了我们自己的工程文件中。
使用IE对象 :
Dim Browser As Object
Set Browser = CreateObject("InternetExplorer.Application")
Browser.Visible = True
Browser.Navigate ("http://www.ccw.com.cn")
即可调用浏览器访问特定网页。
上述三种方法中,Shell函数调用看似最简单,但却有很大缺点:定位浏览器可执行文件十分不易--不同的PC,浏览器可执行文件可能被安装于不同的目录下,而不一定是系统目录或 PATH 环境变量指定的目录。
使用ShellExecute API函数时,
程序调用的是操作系统默认的浏览器(而无论是这一浏览器是IE或Netscape,以及它实际所在的位置),因而是通常情况下最为可行的方法。
Automation对象调用的方法仅适用于 IE 浏览器,但优点是调用成功后可以在
程序中进一步使用该对象实现某些高级功能,如访问当前加载的网页的HTML内部元素或Form表单等。