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

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

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

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

interop 存在于pinvoke.net ,所以你可以从那开始。

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

  1. QueryInterface()您的IID_IServiceProvider站点。
  2. QueryService()用于SID_STopLevelBrowser的IServiceProvider,IID_IServiceProvider。
  3. QueryService()SID_SWebBrowserApp的顶级IServiceProvider,IID_IWebBrowser2。

…但我不知道如何在C#中做到这一点。