Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > C/C++ > BHO (Browser Helper Object 浏览器辅助对象) 原理
【标  题】:BHO (Browser Helper Object 浏览器辅助对象) 原理
【关键字】:BHO,Browser,Helper,Object
【来  源】:http://blog.csdn.net/wubind/archive/2006/11/14/1384572.aspx

BHO (Browser Helper Object 浏览器辅助对象) 原理

Your Ad Here  BHO 浏览器辅助对象
BHO原理:

BHO就是Browser Helper Object(浏览器辅助对象)

BHO关联原理 (BHO关联的是SHDOCVW,也就是说不只关联IE,下面全部用IE来说明)
    1.IE的窗口打开时,先寻找HKLM下的SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\ 里的CLSID,这些CLSID,都对应着相应的BHO插件,然后根据这个CLSID到HKCR下的CLSIDs里找到此插件的信息,包括文件位置等。
    2.IE根据找到的CLSID信息创建 BHO 对象,并且查找 IObjectWithSite 接口. (这个接口非常简单,只有SetSite和GetSite两个方法)
    3.IE把IWebBrowser2(浏览器插件)传到 BHO 的 SetSite 方法,用户在此方法中可挂载自己的事件处理方法。
    4.窗口关闭时,IE把 null 传到 BHO 的 SetSite 方法,此方法用来去掉挂载的事件处理方法。

编写BHO流程
1、创建IObjectWithSite显式接口,创建 COM 类型,实现继承IObjectWithSite接口
2、实现此接口并在SetSite方法里加上所要挂载的事件
3、处理事件
4、注册此BHO到注册表中HKLM下的Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects;(HKCR下的CLSIDs是根据上面的路径自动注册的)
5、.net 下须设置此BHO项目的 " 配置属性->生成" 中为Interop注册为True,这样才能将.net 类库文件注册到COM
 
gcc研究笔记(二)cp和cpplib的接口:【上一篇】
gcc研究笔记(一)tree是什么:【下一篇】
【相关文章】
  • 企业服务组件接口被定义在其他项目中,变更接口导致错误:Unable to cast COM object to interface 的解决方...
  • IE编程精选-如何使用BHO定制你的Internet Explorer浏览器
  • 关于fso( FileSystemObject )的一些常见问题
  • DrawObject,Line,Circle,Square
  • Flash小技巧之Object.watch(转载)
  • 一分钟学会手工注册BHO
  • Inside the C++ Object Model的学习
  • Building Browser Helper Objects with Visual Studio 2005
  • AppEncrypts helper.提供加密解密的一个通用类
  • PBHelper将上11期《程序员》杂志
  • 【随机文章】
  • C#编译器
  • Direct3D Tutorial 3: Using Matrices
  • 解决Excel考试中的一个问题
  • 函数名巧做局部变量
  • DeepFreeze5.2冰点还原企业网络版无限版使用方法
  • 一个ipq的例子——libipq使用简介
  • 计算机病毒警告中常用的专有名词索引
  • PS制作高精度太空图(1)
  • PHP5乱记(2)都是权限惹的祸:apache的403问题
  • 请教如何改善C#中socket通信机客户端程序的健壮性
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.