Posted by & filed under Uncategorized.

About yangwei

wei yang has written 16 post in this blog.

      微软在1997年正式推出Browser Helper Object (BHO), 使程序员能够更好的对IE进行二次开发和操作. 在通过编写BHO程序数月后, 我希望把我的一些经验告诉才开始的同志, 避免走一些弯路。

最近公司程序需要嵌入各个浏览器的插件。

首先需要支持的是IE的插件。又称为BHO(Browser Helper Object浏览器辅助对象).比起在C++中开发BHO,c#确实是更加简单,我的BHO主要为了实现通过点击浏览器有效下载链接,然后调用我们自己的程序(和迅雷差不多)BHO主体程序时UrlTrack类。而这个类我们需要从接口IObjectWithSite继承。

IObjectWithSite的源码比较简单

 

 

上述的GUID可以自己手动生成一个

另外主体程序UrlTrack类

Getsite

Setsite—按自己需求给webBrowser添加各种事件来监控IE的事件,并触发

 

RegisterBHO—BHO加入到注册表的方法

 

 

UnregisterBHO— BHO清理出注册表的方法

 

最后生成的DLL。我们可以通过系统的Regasm.exe程序来进行COM注册

命令主要是 Regasm /codebase XX.dll( regasm.exe在C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,注册时把regasm.exe拷贝出来和dll放置同一个目录下,便可以进度注册)

然后你的IE浏览器就被绑架了。。

有个问题需要注意哦!!生成dll的同时,debug目录下还有Interop.SHDocVw.dll需要同时拷贝过去,否则BHO不会生效

Leave a Reply

  • (will not be published)