如何从BHO打开一个新标签?

时间:2012-02-21 00:38:31

标签: c# internet-explorer bho ieaddon

我想在C#中用我的BHO打开一个新标签。 Process.Start(u)打开一个新窗口,而不是选项卡,并调用默认浏览器,这可能不是IE。

我想打开新标签,提示用户下载并安装最新版本的BHO。

1 个答案:

答案 0 :(得分:3)

从BHO执行此操作的正确方法是使用IWebBrowser2::Navigate2()doc link)并传递navOpenInNewTabdoc link)。

互操作exists at pinvoke.net,所以你可以从那开始。

您可以按照以下步骤从您的网站获取IWebBrowser2指针:

  1. QueryInterface()您的网站是IID_IServiceProvider。
  2. QueryService()SID_STopLevelBrowser的IServiceProvider,IID_IServiceProvider。
  3. QueryService()SID_SWebBrowserApp的顶级IServiceProvider,IID_IWebBrowser2。
  4. ...但我不知道如何在C#中做到这一点。