这只是我个人的资料搜集,并不是介绍性的文章,很乱而没有条理,见谅。
MSDN中一篇文章,介绍Browser Helper Objects,真是定制IE的利器啊。一搜和QQ都用过这种技术。值得研究,但这种技术不应该被滥用,否则,真的不敢用IE了。
屏蔽掉BHO:
如果不希望IE运行BHO,可以 进控制面板,找到“Internet选项”,进入“高级”页,在“浏览”栏下,取消“启用第三方浏览器扩展”前面的钩,重新启动IE。我做了,哇!,整个天空干净了,打开IE时硬盘再也不哗啦哗啦响了。嗯,我这是什么态度啊?
There are some requirements when creating a Browser Helper Object
• | The application that you create must be an in-proc server (that is, DLL). |
• | This DLL must implement IObjectWithSite. |
• | The IObjectWithSite::SetSite() method must be implemented. It is through this method that your application receives a pointer to Internet Explorer's IUnknown. (Internet Explorer actually passes a pointer to IWebBrowser2 but the implementation of SetSite() receives a pointer to IUnknown.) You can use this IUnknown pointer to automate Internet Explorer or to sink events from Internet Explorer. |
• | It must be registered as a Browser Helper Object as described above. |
每开一个IE窗口,或打开资源浏览器窗口,会寻找注册表中:
HKLM\SOFTWARE\Microsoft\Windows \CurrentVersion\Explorer\Browser Helper Objects
下的CLSID,并加载实例。
参考阅读文档:http://msdn.microsoft.com/ie/iedev/default.aspx
http://support.microsoft.com/default.aspx?scid=kb;en-us;322178
http://www.cnblogs.com/hbifts/articles/24265.html
http://support.microsoft.com/kb/179230/EN-US/
http://support.microsoft.com/default.aspx?scid=kb;en-us;298931
http://www.microsoft.com/mind/0598/browhelp.asp
http://blog.joycode.com/lostinet/archive/2005/02/27/45013.aspx