VB对IE浏览器完全控制
2010年02月18日
IE浏览器完全控制 ,相信现在绝大多数计算机上使用的是IE浏览器。如何通过编程控制IE的操作呢,本文将一步步介绍如何通过VB 调用IE的对象库来对IE进行控制。
本文使用的编程工具是VB6英文企业版,浏览器是IE5,以下的代码只能在IE4及以上版本下运行。另外为了能深
入了解程序代码,最好能安装MSDN。文中的所有对象、函数、事件在其中都可以查到。
一、如何获得Windows中所有打开的浏览器窗口
首先打开VB,建立一个新工程,点击菜单 Projects | References 项,在Available References 列表中选择
Microsoft Internet Controls项将Internet对象引用介入到工程中。添加一个ListBox到Form1,然后在Form1中添
加如下代码:
Dim dWinFolder As New ShellWindows
Private Sub Form_Load()
Dim objIE As Object
For Each objIE In dWinFolder
If InStr(1, objIE.FullName, “IEXPLORE.EXE”, vbTextCompare) 0 Then
List1.AddItem objIE.LocationURL
End If
Next
End Sub
打开几个浏览器窗口,然后运行程序,可以看到所有浏览窗口中的URL地址都在List1中列了出来。
上面程序中的ShellWindows对象是描述当前所有打开的“浏览窗口”对象集合的对象,利用For…Each语句可以
获得其中所有的浏览窗口对象。这是一个WebBrowser对象,在MSDN索引中通过“WebBrowser Object”中可以找到该
对象的详细介绍
在ShellWindows中的浏览窗口对象不仅包含IE,还包含Explore窗口(向资源管理器或者“我的电脑”窗口就是
Explore)。只不过它们的宿主程序一个是IEXPLORE.EXE,一个是EXPLORE.EXE。所以对每一个对象首先根据其FulName
属性来判断窗口是IE浏览器,如果是,则将该窗口的URL地址列出来。
通过WebBrowser对象可以获得和设置浏览器窗口中的很多属性,例如窗口大小、工具栏、状态栏状态以及控制
窗口的浏览等,大家通过MSDN都可以查到。
二、如何得到每一个浏览窗口的内容
在上面程序的Form1中再添加一个TextBox控件,将MultiLine属性设置为True,然后在List1的Click事件中添加如
下代码:
Dim objDoc As Object
Dim objIE As Object
For Each objIE In dWinFolder
If objIE.LocationURL = List1.List(List1.ListIndex) Then
Set objDoc = objIE.Document
For i = 1 To objDoc.All.length - 1
If objDoc.All(i).tagname = “BODY” Then
Text1.Text = objDoc.All(i).innerText
End If
Next
Exit For
End If
Next
运行程序,点击ListBox中的一个列表,所对应的浏览器窗口中的文本内容就会显示在TextBox中。
在上面的程序中,首先根据ListBox中选择的URL获得Webrowser对象,然后根据Document属性获得文档对象。我们知道
一个页面中包括HEAD、TITLE、BODY部分,页面中还可能包括Applet、Script、连接、表单等,这些在文档中都是一个对象
在程序中就是循环文档对象下的所有对象,如果对象的名称是“BODY”,说明对象代表HTML文档的正文部分,那么访问对象
的innerText属性获得文档正文。关于Document对象更详细的信息,大家可以参考MSDN中Webbrowser object帮助中的
Document属性连接。
三、响应IE事件
上面的部分只是介绍了如何访问Webbrowser对象的属性,下面介绍如何监控IE事件。
在Form1中再添加一个CommandButton。在代码窗口的 [Gengeral]-[Declaration]添加下面的定义:
Dim WithEvents eventIE As WebBrowser_V1
这样就在Form1中新添加了一个对象,然后在Command1的Click事件中添加如下代码:
Dim objIE As Object
For Each objIE In dWinFolder
If objIE.LocationURL = List1.List(List1.ListIndex) Then
Set eventIE = objIE
Command1.Enabled = False
Text1.Text = “”
Exit For
End If
Next
在eventIE的NavigateComplete事件中添加如下代码:
Text1.Text = Text1.Text + Chr(13) + Chr(10) + URL
在Form的UnLoad事件中添加下面一句代码:
Set dWinFolder = Nothing
运行程序,在ListBox中选择一个URL后点击Command1,然后转到与所选项向对应的浏览窗口输入网站地址进行浏览,可以
看到所浏览过的站点地址在TextBox中一一列出。
上面的程序实现起来也很简单。首先定义一个可响应事件的Webbrowser对象,然后将它与在ListBox中选择的Webbrowser对
象联系起来,当浏览器发生变化时,eventIE对象就能响应相应的事件。
根据IE版本的不同,Webbrowser对象也不同,作者的浏览器是IE5.0,在上面将eventIE定义为WebBrowser_V1运行通过,如
果你的浏览器版本为4.0的话,可能在执行 Set eventIE = objIE 时,可能产生 Type mistake 错误,这时你可以尝试将
eventIE定义为:Dim WithEvents eventIE As WebBrowser
发表评论
-
VC 小技巧(一)
2012-01-20 02:44 621VC 小技巧(一) 2010年06月 ... -
从DOS命令到制作IMG的详细教程
2012-01-20 02:44 531从DOS命令到制作IMG的详细教程 2010年06月20日 ... -
一个文件分割器源码(MASM32)
2012-01-20 02:44 654一个文件分割器源码(MASM32) 2010年09月27日 ... -
linux设备驱动(十五)--与硬件通信
2012-01-20 02:44 551linux设备驱动(十五)--与 ... -
关于文件的一些总结
2012-01-20 02:44 763关于文件的一些总结 2010年08月29日 Create ... -
生产部经理岗位职务说明书
2012-01-19 10:38 595生产部经理岗位职务说明书 2011年10月12日 生产部 ... -
培 训 教 材
2012-01-19 10:38 644培 训 教 材 2011年11月18日 培 训 教 ... -
包袋生产部工作经验~
2012-01-19 10:38 763包袋生产部工作经验~ 2 ... -
生产部经理绩效考核
2012-01-19 10:38 810生产部经理绩效考核 2010年06月12日 ... -
4-25Linux下的一些简单网络配置命令介绍
2012-01-17 03:07 6734-25Linux下的一些简单网络配置命令介绍 2011年0 ... -
PHOTOSHOP初学者成长教材
2012-01-17 03:07 535PHOTOSHOP初学者成长教材 ... -
7月16号 键盘按键失灵? 蓝屏的终极处理?
2012-01-17 03:07 8457月16号 键盘按键失灵? 蓝屏的终极处理? 2011年07 ... -
C程序1
2012-01-17 03:07 628C程序1 2011年12月15日 ... -
VB 抓取网站验证码图片
2012-01-16 01:41 1244VB 抓取网站验证码图片 2010年05月20日 方法一 ... -
VB语言
2012-01-16 01:41 686VB语言 2009年11月07日 ... -
VB模拟广告点击(包括二次点击)
2012-01-16 01:41 1011VB模拟广告点击(包括二次点击) 2009年10月19日 ... -
虚方法笔记
2012-01-11 01:28 542虚方法笔记 2011年09月01日 没用virtual ... -
jsp动作组件
2012-01-11 01:28 576jsp动作组件 2011年09月01日 1. ... -
java解惑------长整除(解惑) | WebWork文件上传的问题---Content-Type no ...
2012-01-11 01:27 616java解惑------长整除(解惑) | WebWork文件 ... -
Struts1中文件下载
2012-01-11 01:27 707Struts1中文件下载 2011年09月01日 网上 ...
相关推荐
IE浏览器完全控制 相信现在绝大多数计算机上使用的是IE浏览器。如何通过编程控制IE的操作呢,本文将一步步介绍如何通过VB 调用IE的对象库来对IE进行控制。 本文使用的编程工具是VB6英文企业版,浏览器是IE5,以下...
(30KB) 58,sclcon.zip 不知道你对ie里背景的水印属性有没有印象,现在你在窗体里也可以实现了(162KB) 59,submenu.zip 可以在VB中自定义弹出式子菜单(8KB) 60,zlibtool.zip 较好的一个有进度显示...
(30KB) 58,sclcon.zip 不知道你对ie里背景的水印属性有没有印象,现在你在窗体里也可以实现了(162KB) 59,submenu.zip 可以在VB中自定义弹出式子菜单(8KB) 60,zlibtool.zip 较好的一个有进度显示...
实现C#和VB.net之间的相互转换 深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白 asp.net 运行机制初探(httpModule加载) 利用反射来查看对象中的私有变量 关于反射中创建类型实例的两种方法 ASP...
网际畅游 (MyIE)是一款精巧的基于IE为内核(需IE5.0或IE5.5的支持),在同一窗口可以打开多个页面,且没有数量限制,对系统资源占有率较少的浏览器。 网际畅游 (MyIE)是一个完全免费的软件,你可以免费使用,...
asp.net,jsp做的b/s架构的程序中,为客户端ie提供报表预览、打印、导出功能,webreport包括2部分:服务器端报表引擎(在asp,asp.net,jsp都能用,webreport对上述3中语言都开发了报表引擎)、客户端ie浏览器ActiveX插件...
提供支持,并提取从Java和VB脚本,Java类,层叠样式表(.CSS),Macromedia Flash的(.SFW),XML/ XSL/ DTD,目录(.TOC),MPEG3播放列表(.M3U链接),Authorware中(.AAM)时,Acrobat(。PDF),RealMedia格式...
p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库...
p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库...
p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库...
p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库...
p2p vb实例。 p2p+technology文档。 P2P视频技术源码(含开发文档) PcShare 内含远程控制、进程管理、文件操作、视频控制、注册表操作、客户端服务器端。 redui_src_v0.9.130(DirectUI 3D) DirectUI 3D界面库...
如同系统BIOS的快取功能,启用影像BIOS的快取功能将允许存取影像BIOS自C0000H到C7FFFH具有快取功能,如果快取控制器也被启用。高速缓存的大小愈大,影像效能将会更快速。 Memory Hole At 15M-16M(扩展卡内存分配...
vb实例。 p2p+technology 文档。 P2P视频技术源码(含开发文档) 目前的协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求的长度不定. 请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务...
直接在IE浏览器地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件! 第三章 开发环境的说明与安装 3.1. 开发语言的选择 3.1.1. JAVA简介 Java是Sun公司推出的新的一代面向对象程序设计语言...
直接在IE浏览器地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件! 第三章 开发环境的说明与安装 3.1. 开发语言的选择 3.1.1. JAVA简介 Java是Sun公司推出的新的一代面向对象程序设计语言...
*更改IE浏览器为IE6 *更改为悦耳的开关机声音 *终极优化系统,减少无用的进程,确保系统运行更快速。 *破解 Tcpip 连接数限制,破解系统主题限制,并集成微软 JAVA 虚拟机。 *集成 DirectX0903,VBVC最新版本运行库...
DirectX8VB组件调用模块.ec disk.ec DisplaySettings.ec DIY 热键框模块.ec DLL.ec DLL注入模块.ec DOS命令模块.ec dqf1996.ec EC.EC edb-html.ec EdbServer1.0 客户端.ec EDB、高级表格、XLS互换.ec edb到...
DirectX8VB组件调用模块.ec disk.ec DisplaySettings.ec DIY 热键框模块.ec DLL.ec DLL注入模块.ec DOS命令模块.ec dqf1996.ec EC.EC edb-html.ec EdbServer1.0 客户端.ec EDB、高级表格、XLS互换.ec edb到...