想要在嵌入标准C#App的WebBrowser控件中启用BHO

时间:2010-08-05 22:17:14

标签: c# webbrowser-control bho

我有一个标准的winforms C#app,其上拖着一个webbrowser控件。我们还有一个C ++ BHO,当它在IE7或IE8中运行时,我们通常通过COM与之交互。

我没有看到任何方法告诉webbrowser控件加载BHO。 BHO不显示任何GUI或任何内容,它只是在从IE使用时监听http流量。

非常感谢任何帮助。 感谢。

1 个答案:

答案 0 :(得分:2)

BHO只是实现IObjectWithSite的COM对象。您可以创建BHO的实例,查询IObjectWithSite并调用IObjectWithSite :: SetSite,将webbrowser控件的IWebBrowser2指针作为参数传递。当你关闭时,再次调用SetSite,传递NULL。

如果您正在托管由其他人编写的BHO,您也需要满足他们的要求,有些可能要求您的程序命名为“iexplore.exe”,有些可能要求您具有与特定IE版本相同的窗口层次结构等等。