原文发表于作者博客 http://www.nod6.net——以c#和Objective-C为主题的网站。
先看一个效果图:
位于下方的工具栏即是我们编写的BHO组件。它本质上是一个DLL,是由IE浏览器加载的,它的生命周期=浏览器进程的生命周期。更多关于BHO的信息,请大家自行Google。IE8是多进程浏览器,因此没打开一个选项卡,或者每打开一个新的窗口就会启动这样一个BHO组件。那么,IE是如何知道要加载哪些BHO呢?答案是:注册表。注册表是Windows最重要的配置数据库,BHO的配置也不例外,它位于注册表的如下位置:
Software/Microsoft/Windows/CurrentVersion/Explorer/Browser Helper Objects
因此,我们只需要编写一个bat文件注册即可:
C:/Windows/Microsoft.NET/Framework/v4.0.30319/regasm /codebase “bin/Debug/MyBHO.dll”
那么,接下来我们关注下BHO本身,如何编写一个BHO组件呢?很简单,只需4步即可搞定:
1、编写一个接口:
2、实现该接口
3、生成证书,并将证书应用到该BHO项目
“C:/Program Files/Microsoft SDKs/Windows/v7.0A/bin/NETFX 4.0 Tools/sn” -k MyBHO.key
|
至于界面,只需要新建一个Form就可以了,Form里没有任何业务逻辑(业务逻辑在FirstBHO中),只是一个人机接口而已。
至于Form和业务逻辑类FirstBHO的交互,是通过事件实现的。下面给出Form的代码: