如何对webbrowser和IE编程.doc
如何对webbrowser和IE编程
?
?
一、
因为工作缘故,需要研究对IE编程,所以翻译了MS的有关资料,供参考。
?
IE的体系
?
WebBrowser Host
首先,必须有COM的基础知识,因为IE本身就是COM技术的典型应用。我们看到最上层是WebBrowser的宿主(Host),也就是任何你想重用(ReUse)webbrowser control的应用程序,可以是vb程序,也可以是vc或者任何其他语言的应用程序。应用程序必须是可容纳activex控件的容器。
Webbrowser control既是activex control也是activex document 的宿主。作为控件,它可以置于任何activex容器,作为文档容器,它针对特殊的类型,调用特殊类型注册的文档server以显示文档。如果你想显示一个.doc文档,webbrowser control装载windows word,,对于html文档,webbrowser装载名为mshtml的组件(如图所示)。针对不同的文档,你不需要开发不同的应用,仅仅是调用webbrowser control即可。
?
Shdocvw
Shdocvw.dll包含了webbrowser control ,控制webbrowser control (就像控制其他任何activex com 控件一样),提供浏览能力给上层宿主。请注意webbrowser control位于第二级中。甚至IE也不直接而是通过shdocw.dll来使用webbrowser control的。尽管shdocvw提供了大部分的浏览功能,但是并不提供IE窗口的呈现功能。尽管如此,shdocvw还是提供了简单创建web 应用程序的能力。之后章节会讲到如何将ie的高级特性加入到你的应用程序。
?
MSHTML
早期的mshtml具有读取显示html的功能。MSHTML实际上是一个active 文档服务器,但是却可以作为其他控件的容器(如图中所示的)。记得吗,你可以将activex控件置于html中,此时mshtml就是一个activex宿主,还可以控制其他的控件如vbscript 脚本引擎和javascript脚本引擎,java applet ,geszhong,各种插件—别意外,plug-in都是按照ie activex规范写的。
?
二、
WebBrowser Control 与 Internet Explorer
二者又太多的共同点,你都是通过COM接口来访问其功能。当调用webbrowser控件时,使用的是webbrowser对象,在vc中是使用class ID CLSID_WebBrowser的接口类。
当自动化ie时,必须建立名为 InternetExplorer的对象,vc等语言中使用名为class ID CLSID_InternetExplorer的接口类。
?
接口
webbrowser有4个接口(如图),其中3个提供全部的功能,第4个DWebBrowserEvents2接口暴露事件
ie4 之前,仅有IwebBrowser和IwebBrowserApp两个接口,且二者共享相同的功能,当开发ie4时候,决定加入第三个接口IWebBrowser2扩展webbrowser的功能。该接口派生于第二个接口。
?
IWebBrowser
IWebBrowser 仅仅是WebBrowser control的最初接口, 提供基本的例如导航web页面的功能。 作为其他派生接口的基础接口,有8个方法和30个属性。
方法 描述 GoBack 导航到历史列表中的上一个页面 GoForward 导航到历史历表中的下一个项目 GoHome 导航到缺省页面. GoSearch 导航到缺省搜索页面 Navigate 导航到一个页面或者页面 Refresh 刷新当前页面 Refresh2 可以选择刷新级别,如下: ? REFRESH_NORMAL 普通刷新,并且不发送HTTP pragma:nocache 到服务器. ? REFRESH_IFEXPIRED 仅仅当页面失效时才发送刷新请求 ? REFRESH_CONTINUE 内部使用,不要在编程时使用 ? REFRESH_COMPLETELY 发送HTTP pragma:nocache header 到服务器 Stop 停止当前导航 ?
尽管WebBrowser control 提供了你需要的导航回退以及前向的方法,但是没有提供存取历史列表的途径. 你可与直接通过属性LocationUR来获取当前页的URL.
在VB或者VC++中调用GoBack 和 GoForward
您可能关注的文档
- 基于策略训练的初中英语阅读教学(周智忠).doc
- 基于语料库的机器翻译系统.ppt
- 基因与性状的关系.ppt
- 基因对个体发育的控制.ppt
- 基因的克隆方法大全.ppt
- 基孔肯雅热防控(培训).ppt
- 基本功能设置测试用例.doc
- 基础8 能力和人格.pptx
- 基本素质发展云南省普通高中学生成长记录.doc
- 基础化学常用英语词 生物柴油专用词.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
原创力文档

文档评论(0)