-
vb教程之在VB中调用浏览器访问网页
调用浏览器访问某一网址(页)是软件中常见的功能。本文总结在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表单等。
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表单等。
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比