惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
Cloudbric
Cloudbric
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Attack and Defense Labs
Attack and Defense Labs
爱范儿
爱范儿
The Cloudflare Blog
腾讯CDC
Security Archives - TechRepublic
Security Archives - TechRepublic
TaoSecurity Blog
TaoSecurity Blog
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
C
Check Point Blog
Schneier on Security
Schneier on Security
S
Schneier on Security
J
Java Code Geeks
B
Blog RSS Feed
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
Stack Overflow Blog
Stack Overflow Blog
博客园_首页
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
A
About on SuperTechFans
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Google DeepMind News
Google DeepMind News
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
A
Arctic Wolf
S
Secure Thoughts
P
Palo Alto Networks Blog
The Last Watchdog
The Last Watchdog
SecWiki News
SecWiki News
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 三生石上(FineUI控件)
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
U
Unit 42
I
InfoQ
D
DataBreaches.Net
P
Privacy International News Feed
T
Troy Hunt's Blog
博客园 - 叶小钗
T
Threatpost
博客园 - Franky
K
Kaspersky official blog
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
www.infosecurity-magazine.com
www.infosecurity-magazine.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cisco Blogs

博客园 - 飞天名猪

django 定制管理页面外观 模板文件不生效的解决方法 新手上路,django学习笔记(1) 环境部署 Windows7系统命令总结 VC 编程ANSI环境下读写Unicode文件(转载) ICE3.1.1 开发中遇到的问题(四) 发布9个腾讯微博的邀请码 [转载]vc6转2008的一些实践经验 - 飞天名猪 - 博客园 IcePatch2+IceGrid部署的解决方案 ICE 开发中遇到的问题(三) Ice开发中遇到的问题(二) ICE开发中遇到的问题 (一) - 飞天名猪 - 博客园 使用ICE遇到的编译问题 dbf文件结构 判断操作系统的类型 浏览器插件-- Browser Helper Object(BHO) 四 浏览器插件-- Browser Helper Object(BHO) 三 浏览器插件-- Browser Helper Object(BHO) 一 window程序自启动的几种方法(四) windows程序自启动的几种方法(三)系统配置文件
浏览器插件-- Browser Helper Object(BHO) 二
飞天名猪 · 2008-06-02 · via 博客园 - 飞天名猪
 

IE是如何启动一个BHO对象的呢?

每次,当有新的IE实例启动时,IE浏览器都会去检查注册表中的项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects

如果IE在注册表中找到了这些键,IE就会去寻找在这个键下面列出来的CLSID,如图所示

    这些被列在Browser Helper Objects 下面的键告诉IE浏览器哪些BHO是需要被载入的。你可以通过编辑注册表手动为你的BHO创建一个CLSID的键,否则你需要为你的BHO创建一些实现注册功能的代码,来插入这些键值。

    在Browser Helper Object键下面列出的每一个CLSID,IE都会在相同的进程空间比如浏览器中,调用CoCreateInstance 来启动一个新的BHO实例。换句话说,IE把BHO作为一个进程中的服务启动了。如果这个BHO已经注册了自己的CLSID并且实现了IObjectwithSite接口,那么这个被IE启动的BHO就把传递了一个指针给IE浏览器的IWebBrowser2接口。通过这个接口,BHO可以控制并收到来自IE浏览器的事件。

    只要BHO被正确的创建了,那么每当新的IE的实例被启动的时候,他就会被IE加载。因此如果你安装了Microsoft Active Desktop,那么每次当你打开一个文件夹,一个子文件夹、或者一个浏览器窗口时,BHO都会被加载。如果你不再想要BHO被加载,你必须删除跟这个BHO相关联的注册表项。另外,你可以手动的编辑注册表项来删除它,也可以在你的BHO中写一些卸载的代码来为你做这些工作。