Я написал BHO на основе этого урока:
http://www.codeproject.com/KB/cs/Attach_BHO_with_C_.aspx
Мои GetSite
и SetSite
идентичны списку учебных пособий. Я добавляю / удаляю обработчик OnDocumentComplete
и назначаю SHDocVW.WebBrowser webBrowser
внутри функции IObjectWithSite
SetSite
для целей отладки я удалил все, кроме основных функций. Вот мой обработчик 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? Спасибо!