如何从BHO打开一个新标签?
我想在C#中用我的BHO打开一个新标签。 Process.Start(u)打开一个新窗口,而不是选项卡,并调用默认浏览器,这可能不是IE。
我想打开新标签以提示用户下载并安装最新版本的BHO。
从BHO执行此操作的正确方法是使用IWebBrowser2::Navigate2()
( doc链接 )并传递navOpenInNewTab
( doc链接 )。
interop 存在于pinvoke.net ,所以你可以从那开始。
您可以按照以下步骤从您的站点获取IWebBrowser2指针:
- QueryInterface()您的IID_IServiceProvider站点。
- QueryService()用于SID_STopLevelBrowser的IServiceProvider,IID_IServiceProvider。
- QueryService()SID_SWebBrowserApp的顶级IServiceProvider,IID_IWebBrowser2。
…但我不知道如何在C#中做到这一点。