How to open a new tab from BHO?

主宰稳场 提交于 2019-12-04 06:35:53

问题


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:

  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#.



来源:https://stackoverflow.com/questions/9370540/how-to-open-a-new-tab-from-bho

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!