尽管BHO被给与了太多的权限,以至于很多反恶意软件对BHO倍加关注,但是很多BHO也是很有用的,例如Google ToolBar和Internet Explorer Developer Toolbar。在Windows XP SP2中,微软在IE中加入了加载项管理器来管理包含BHO在内的浏览器扩展。
微软在1999年1月发布了一篇名为Browser Helper Objects: The Browser the Way You Want It的文章,同时在微软知识库中也提供了一个示例IEHelper,这使得编写BHO的难度大大降低,但是这也使得有缺陷的BHO的数量增加。甚至在最近这篇文章Building Browser Helper Objects with Visual Studio 2005的示例代码中,也有着一些缺陷,但是这篇文章也详尽地阐述了编写BHO需要注意的事项,编写BHO的程序员应该去看一看。
文中的RGS应该从
HKLM {
SOFTWARE {
Microsoft {
Windows {
CurrentVersion {
Explorer {
'Browser Helper Objects' {
ForceRemove '{D2F7E1E3-C9DC-4349-B72C-D5A708D6DD77}' = s
'HelloWorldBHO' {
val 'NoExplorer' = d '1'
}
}
}
}
}
}
}
}
改为
HKLM {
NoRemove SOFTWARE {
NoRemove Microsoft {
NoRemove Windows {
NoRemove CurrentVersion {
NoRemove Explorer {
NoRemove 'Browser Helper Objects' {
ForceRemove '{D2F7E1E3-C9DC-4349-B72C-D5A708D6DD77}' = s
'HelloWorldBHO' {
val 'NoExplorer' = d '1'
}
}
}
}
}
}
}
}
public IDispEventImpl<1, CHelloWorldBHO, &DIID_DWebBrowserEvents2,
&LIBID_SHDocVw, 1, 0>
应该改为
public IDispEventImpl<1, CHelloWorldBHO, &DIID_DWebBrowserEvents2,
&LIBID_SHDocVw, 1, 1>
If the page has no frames, the event is fired once after the page is ready, but before any script has run.这句话有误,浏览器在下载到BODY内嵌的script标签的时候就会执行脚本。
those that fire DownloadBegin will also fire a corresponding DocumentComplete 这里DocumentComplete 应该是DownloadComplete。
博客堂的后台对IE7支持似乎不甚完善,编辑的时候格式化功能不见了,用IE6才发得上来