我已经根据本教程编写了 BHO:http: //www.codeproject.com/KB/cs/Attach_BHO_with_C_.aspx
我的GetSite
和SetSite
与教程列表相同。我正在添加/删除一个处理程序并在SetSite 函数内OnDocumentComplete
分配SHDocVW.WebBrowser webBrowser
IObjectWithSite
出于调试目的,我删除了除基本功能之外的所有功能。这是我的OnDocumentComplete
处理程序。
public void OnDocumentComplete(object pDisp, ref object URL)
{
if (true)
{
HTMLDocument document;
document = (HTMLDocument)webBrowser.Document;
/*need to do some stuff here to the doc*/
//then free up script references somehow?
}
return;
}
当我将我的 VS2008 调试器附加到 IE 实例时,我注意到所有加载的 .js 在它们各自的窗口/选项卡关闭后仍然存在。如果我将 OnDocumentComplete 中的条件设置为 false(或禁用我的 BHO),泄漏就会消失。我需要对 mshtml.HTMLDocument 进行更多清理吗?谢谢!