在VB中操作IE浏览器.docx_第1页
在VB中操作IE浏览器.docx_第2页
在VB中操作IE浏览器.docx_第3页
在VB中操作IE浏览器.docx_第4页
在VB中操作IE浏览器.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

在VB中操作IE浏览器福建电脑2002年第11期 回铡 东华大学机械系骆永成蔡玉华200051 【摘要】本文归纳了在VB中操作厄浏览器几种方法:使用函数ShellAPX函数ShellExec”te,掌 管WebBrozoser控件和自动化InternetExplorer.并重点介绍了自动化InternetExplorer及一些实际 的应用. 【关键词】IE,VB,自动化,控件 网络的普及,IE及WEB访问能力已经 成为了Windows操作系统的核心部分了, 越来越多的应用程序也要求其某些功能最 终通过与IE浏览器对象的交互而实现. 因此在应用程序中实现对IE浏览器对象 的操作将是十分必要的.笔者在用VB开 发化纤信息库中,经常需要登陆Intemet, 即打开浏览器浏览网站,甚至控制浏览器. 在信息库,应各种需求本人使用了多种方 法. 1.使用函数Shell和API函数SheIIExecIlte 函数Shell和API函数Sxecute的 使用简单,但可实现的功能也仅仅只能启 动IE浏览器. 函数Shell功能是执行一个可执行文 件,语法:shd1(pathname,windowse) 此函数必须要求IEXPLORE.EXE文件所 在目录正确,才能启动IE浏览器,实例如 下: shell”C:ProgramFilesIntemetEx plorerIEXPLORE.EXE”vbMaximizeo? eLlS API函数IdlExecute功能是查找与 指定文件关联在一起的程序的文件名,语 法:PrivateDeclareFunctionIdlExecuteLib “ shell32.du”ias”ShellExecuteA”(ByVal hwndAsLong,ByValltionAs String,ByVallpFileAsString,ByVallpPa rametersAsString,ByVallpDh-ectoryAs String,ByValnShowCmdAsLong)As Long.此函数含参数较多,请参考API手 册.实例如下: 先需要定义用到的常量 ConstSW一(MAL=1 打开搜狐主页 ShdlExecuteMe.hwnd,vbNuUString, “http:/ww.sohu.”l/”,vbNuUString, C:”,SW一CfWN0】,IAL 2.掌管WebBrowser控件 VB中的WebBmwser控件大家都很熟 悉,您只要启动VisualBasic6.0,从新建工 程中选择标准EXE然后从”工程”菜单中 选择”部件”菜单,从出现”部件”对话框中 的列表框中选中MicrosoftIntemetControls 复选框,单击确定.然后把工具栏的web. Browser控件加入窗体.在源程序中你可 以用GoHome,GoBack,GoForword和Stop 方法来实现IE浏览器的打开主页,回退, 前进和停止功能.使用语句WebBrowser1. Navigate”/”,即可实 现打开搜狐主页. WebBrowser控件有许多方法(如Go- Home,GoBaek)和属性(如Document, Width,LocationName),凭借其灵活的事件 函数(如DownloadComplete,I)oc1.n-llel3.tCom. plete)可用来控制IE浏览器.然而,我们 掌管WebBrowser控件可以实现更加深入 地控制IE浏览器,但是编程的工作量相对 较大. 3.自动化InternetExplorer 再一种更好的方法是自动化Intemet Explorer,自动化是指使用自动化接口 (IDispatch)来控制COM对象,但这里虽然 不直接涉及直接使用IDispatch接口,但是 编写应用程序控制IntemetExplorer的程 序开发员还是用这一术语来表达自动化 IntemetExplorer. 自动化IntemetExorer为开发基于 web的应用程序开辟了一个新空间,我们 可以自定义IntemetExplorer使它符合自 己的需要,而不必更多的精力用VisualBa sic或VisualC+创建功能完善的应用程 序.另外,自动化IntemetExplorer还提供 了其它优点:通过使用其接口的方法和属 性可以修改IntemetExplorer的用户接口, 还可以提供用户接口功能(如浏览栏),而 这一功能通过掌管WebBrowser控件是不 容易办到的.另外它还可以控制导航功 能. (1)使用Visua1Basic6.0自动化Inter netExorer 使用VisualBasic6.0自动化Intemet Exorer极其简单快速,您只要启动Visual Basic6.0,从新建工程中选择标准EXE然 后从”工程”菜单中选择”引用”菜单,从出 现”引用”对话框中的列表框中选中Mi. crosoftIntemetControls复选框,单击确定. 最后在程序中添加如下代码: PrivateSubForm-load() 定义一个类型为IntemetExplorer的 变量 DimIntemetExplorerlAsIntemetEx plorer 判断是否启动了IntemetExplorer实 例,若有,退出函数.即只能启动一个实 例. 1lN.h锄e0rkng ExitSub EndIf 使用New关键字创建一个新的Inter netExplore/”实例 SetIntemetExplorerl=NewInterne tExplorer 浏览器默认是不可见的,应设为可见 IntemetExplorer1.Visible=True 利用这新的实例导航到web网页上. IntemetExplorer1.Navigate”http:/ / EndSub 运行程序,可以看到程序启动了一个 新的IntemetExorer实例,并导航到搜狐 的主页.其中语句:InternetExplorer1.Navi gate”/”,导航地址可 以是任意一个网络网页地址,甚至是本地 的一个网页地址.如果地址为:http:/. search.yahoo.searerden?P=keyword, 2002年第11期福建电脑49 其中keyword为您想要在”雅虎中国”中搜 索的关键词,这样您可以轻松地在Intemet Explorer实例中直接查看搜索的结果. (2)控制浏览器的用户接口属性 我们可以显示或隐藏多种不同的In temetExplorer用户接口,如地址栏,菜单 栏,状态栏和工具栏,还可以在状态栏中添 加文本. 要实现以上功能其实就是使用Inter net.Explorer对象的属性.要隐藏我们所创 建的浏览器实例中地址栏,菜单栏,状态栏 和工具栏,我们可在(1)中源程序的语句: IntemetExplorer1.Visible=Tme后添加以 下语句: 隐藏地址栏 IntemetExplorer1.AddresslMr=False 隐藏菜单栏 IntemetExplorer1.MenuBar=False 隐藏状态栏 IntemetExplorer1.ToolBar=False 隐藏工具栏 IntemetExplorer1.StatusBarFalse 在状态栏中添加文本 IntemetExplorer1.StatusText=“添加 的文本” 通过以上几句语句您可以简单地控制 您的浏览器用户接121显示属性.这样,如 果您想控制用户的浏览,使得用户只能访 问特定的网站,您可以在最少的时间内自 动化IntemetExplorer,关闭用户访问web 网页的所有用户接口特性,如工具栏,地址 栏以及菜单栏.然后创建一些web网页链 接到用户可以浏览的网页上. (3)完全掌管浏览器的用户接口 自动化IntemetExplorer,使用了 1webBrowser2接口的方法和属性,而使用 IWebBrowser2接口您可以访问URL或某 一 个文件,可在历史记录列表中前进或后 退,还可操纵IntemetExplorer用户接口等 等. 虽然在中掌管WebBmwser控件也 使用接口IWebBmwser2,它除了包含 IWebBmwser和IWebBrowse_App的所有方 法以外还包含其它内容.但是一些方法和 属性仅仅适用于自动化IntemetExplorer, 其中一些方法包括:aientToWindow和 ShowBrowserBar,一些属性包括:Address. BarFullScreenMenuBarResizableStatus. Text,Theatermode以及Tcxobaro因此,利 用自动化IntemetExplorer可以比掌管 WebBmwser控件更方便. IWebBmwser2方法和属性,在某种程 度上给您提供了控制导航和用户接口的能 力,当不但不能确定webBrowseI-在做什么 以及何时做,您仍然不能完全控制它. 要完全控制导航和用户接口,还需要 IntemetExpbrer提供的事件,通过事件您 可以进行监视并执行必要的操作. 首先需要像在(1)中那样引用Mi crasoftIntemetControls对象库.然后在自 动化IntemetExplorer,声明自动化服务器 类型的一个变量,需指定Withevents关键 字来告诉VisualBasic,您想从服务器接收 事件.例如您在自动化IntemetExplorer 时,需要声明如下变量: DimWithEventsIntemetExplorerlAs IntemetExplorer 接下来通过CreateObject方法或New 关键字创建服务器的一个例子. CreateObject方法的一个例子: SetintemetExplorerl=CreateObject (“intemetExplorer.Application.1”) New关键字的一个例子: SetIntemetExplorerl=NewInterne t.Explorer 到这一步您就可以在从IntegratedDe veopmentEnvironment(IDE)左上角的0b ect下拉列表中选取IntemetExplorerl对 象,接下来在Procedure下拉表中选取您想 处理的事件(如downloadBegin,Download Complete,FileDownload,OnOuit,StatusTex tChange,TifleChange,WindowSetTop等事 件),然后,在此事件处理函数中添加任何 您想在激发事件时执行的代码. 4.应用 经过笔者的实际应用这些方法,我还 是更偏向于自动化IntemetExplorer来操作 IE浏览器.我们平日所接触的很多应用软 件能直接登陆到生产软件的公司或个人的 网站或主页,用户即可便利地得到必要而 且及时的服务.而这一点只要您通过自动 化IntemetExplorer,就可以在您自己的软 件中轻松地登陆到您的网站或主页.笔者 在开发化纤信息数据库中多次用到了自动 化IntemetExplorer,尤其在整理化纤网站 信息时,需要频繁登陆化纤网站,笔者就是 使用了自动化IntemetExplorer,花了很少 的代价就实现了单键打开或单键关闭浏览 器,减少了界面转换,非常方便.我想,您 现在也能

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论