Хотите включить BHO в элементе управления WebBrowser, встроенном в стандартное приложение C #

У меня есть стандартное приложение winforms C # с перетащенным на него элементом управления веб-браузером. У нас также есть C ++ BHO, с которым мы обычно взаимодействуем через COM, когда он работает внутри IE7 или IE8.

Я не вижу способа указать элементу управления веб-браузером загрузить BHO. BHO не показывает никакого графического интерфейса или чего-то еще, он просто слушает http-трафик при использовании из IE.

Любая помощь будет принята с благодарностью. Спасибо.


person Shane    schedule 05.08.2010    source источник


Ответы (1)


BHO - это просто COM-объекты, реализующие IObjectWithSite. Вы можете просто создать экземпляр своего BHO, запросить IObjectWithSite и вызвать IObjectWithSite :: SetSite, передав указатель IWebBrowser2 элемента управления веб-браузером в качестве параметра. При завершении работы снова вызовите SetSite, передав значение NULL.

Если вы размещаете BHO, написанные другими, вам также необходимо удовлетворить их требования, для некоторых может потребоваться, чтобы ваша программа называлась «iexplore.exe», для некоторых может потребоваться такая же иерархия окон, что и в конкретной версии IE, и т. Д.

person Sheng Jiang 蒋晟    schedule 09.08.2010
comment
Спасибо, Шэн, я попробую. - person Shane; 10.08.2010