Как открыть новую вкладку из BHO? - PullRequest
0 голосов
/ 21 февраля 2012

Я хотел бы открыть новую вкладку из моего BHO, сделанного в C #. Process.Start (u) открывает новое окно, а не вкладку, и вызывает браузеры по умолчанию, которые могут быть не IE.

Я хочу открыть новую вкладку, чтобы предложить пользователю загрузить и установить последнюю версию BHO.

1 Ответ

3 голосов
/ 21 февраля 2012

Правильный способ сделать это из BHO - использовать IWebBrowser2::Navigate2() ( ссылка на документ ) и передать navOpenInNewTab ( ссылка на документ ).

Взаимодействие существует на pinvoke.net , так что вы, вероятно, можете начать с него.

Вы можете получить указатель IWebBrowser2 со своего сайта, выполнив следующие действия:

  1. QueryInterface () вашего сайта для IID_IServiceProvider.
  2. QueryService () IServiceProvider для SID_STopLevelBrowser, IID_IServiceProvider.
  3. QueryService () IServiceProvider верхнего уровня для SID_SWebBrowserApp, IID_IWebBrowser2.

... но я не знаю, как это сделать в C #.

...