2012-02-21 5 views
0

私はBHOから新しいタブを開きたいと思います。 Process.Start(u)は、タブではなく新しいウィンドウを開き、IEではないデフォルトのブラウザを呼び出します。BHOから新しいタブを開くには?

新しいタブを開いて、BHOの最新バージョンをダウンロードしてインストールするように求めます。

+0

私はIE7がこれをサポートしていないことを知っています。ターゲットとするIEの特定のバージョンはありますか? –

答えて

3

BHOからこれを行う正しい方法は、IWebBrowser2::Navigate2()doc link)を使用し、navOpenInNewTabdoc link)を渡すことです。

interop exists at pinvoke.netこれはおそらくそれで始めることができます。

あなたは、以下の手順を実行して、あなたのサイトからのIWebBrowser2ポインタを取得することができます:

  1. のQueryInterface()IID_IServiceProviderのためにサイトを。
  2. QueryService()SID_STopLevelBrowser、IID_IServiceProviderのIServiceProviderです。
  3. QueryService()SID_SWebBrowserApp、IID_IWebBrowser2の最上位IServiceProvider。

...しかし、私はC#でそれを行う方法がわかりません。

+0

ありがとうございます。私はTargetFrameNameが新しいタブを開くために使用できることを認識していませんでした:http://msdn.microsoft.com/en-us/library/cc491275%28v=vs.90%29.aspxこれは "ネイティブ" C#メソッドですピンボケをする必要はありません。 – Julien

+0

_blankなどをターゲットにすると、新しいタブが表示されることがありますが、ユーザーはその動作をある程度設定できるため、新しいウィンドウになる可能性があります。 –

関連する問題