问题
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.
回答1:
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:
- QueryInterface() your site for IID_IServiceProvider.
- QueryService() the IServiceProvider for SID_STopLevelBrowser, IID_IServiceProvider.
- QueryService() the top level IServiceProvider for SID_SWebBrowserApp, IID_IWebBrowser2.
...but I don't know how to do it in C#.
来源:https://stackoverflow.com/questions/9370540/how-to-open-a-new-tab-from-bho