队 英文:VC++开发BHO插件——定制你的浏览器
来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 13:34:31
在Windows操作系统上,我们最常见的浏览器有两种:文件浏览器(exploer.exe,应用于文件系统)和Internet浏览器(iexplore.exe,应用于互联网资源)。
由于这两个浏览器功能强大,而且又与Windows操作系统捆绑销售,最终也就成为了浏览器的标准。但有时候,为了给浏览器加入一些新的特性,我们往往会重新设计一个自己的浏览器。
新的浏览器模仿标准浏览器的大部分功能,同时加入新特性。这种做法最直观,但实际上也是相对于微软的重复劳动,且工作量比较大。其实,使用BHO插件,一切都变得很简单。
BHO(Browser Help Objects),是实现了特定接口的COM组件。开发好的BHO插件在注册表特定的位置注册好后,每当微软的浏览器启动,BHO实例就会被创建。在浏览器工作的工程中,BHO会接收到很多事件,比如浏览器浏览新的地址、前进或后退、生成新的窗口、浏览器退出等等;BHO可以在这些事件的响应中实现与浏览器的交互。
下面,我们首先来介绍一下BHO的工作原理。上面我们已经提到,BHO是COM组件,而且一定实现了IObjectWithSite接口。这些组件除了在注册表中注册为COM Server外,还必须将它们的CLSID在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\Explorer\Browser Helper Objects下注册为子键。
微软在设计浏览器的时候,已经给这些组件预留了空间。每当浏览器启动时,浏览器会首先在上述注册表位置查看是否有注册的BHO CLSID;如果有则分别创建一个实例,并对BHO实例进行初始化,建立交互连接。(注:BHO实例只有在创建它的浏览器窗口销毁时才被释放。)下图演示了BHO的创建过程:
VC++开发BHO插件——定制你的浏览器
CSDN技术中心 VC++开发BHO插件——定制你的浏览器
VC++开发BHO插件——定制你的浏览器3
我的Firefox插件开发之旅(1)——从零开始
我的Firefox插件开发之旅(2)——XUL是什么?
20、30、40——定制你的时装年龄
20、30、40——定制你的时装年龄
定制调试诊断工具和实用程序——摆脱DLL“地狱”(DLL Hell)的困扰(一) - VC知识库文章
开发 Eclipse 插件
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
使用c++开发excel插件
Eclipse插件开发快速入门
Eclipse插件开发之新手入门
开发开发你的大脑
交流与共享:可对“三代”Office有关插件标签实现自由定制的Office Tab V6....
转WINCE学习方法 - WINCE系统定制开发
使用c++开发excel插件(第4章编写一个完整的xll)
论坛安全运行计时代码+漂亮背景的添加方法? 转|phpwind 插件开发 - phpwin...
小米美食定制—溜腰花
VC++6.0和VS2008,操作系统为32位。开发64位的应用程序
利用Dreamweaver插件改变IE浏览器滚动条
开发你的潜能
jQuery插件开发 - 其实很简单