I would like to open a new tab from my BHO done in C#. Process.Start(u) opens a new window, not a tab, and call the default browsers, which might not be IE.

I want to open the new tab to prompt the user to download and install the latest version of the BHO.

有帮助吗?

解决方案

The correct way to do this from a BHO is to use IWebBrowser2::Navigate2() (doc link) and pass navOpenInNewTab (doc link).

The interop exists at pinvoke.net, so you can probably start with that.

You can get the IWebBrowser2 pointer from your site by following these steps:

  1. QueryInterface() your site for IID_IServiceProvider.
  2. QueryService() the IServiceProvider for SID_STopLevelBrowser, IID_IServiceProvider.
  3. QueryService() the top level IServiceProvider for SID_SWebBrowserApp, IID_IWebBrowser2.

...but I don't know how to do it in C#.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top