2

IEを使用してヘルプページを表示するプログラムに取り組んでいます。Visual Studio 2008でC#を使用して.Net Framework 2.0にコンパイルしています。WindowsXPでは、すべてが期待どおりに機能します。Vistaでは、ヘルプボタンをクリックするたびに、新しいIEブラウザで新しいウィンドウが表示されます。他の誰かがこれを見た、またはこれを回避する方法を知っていますか?

これが私がページを表示するために使用しているコードです。strDefaultは、ロードしようとしているhtmlヘルプファイルの場所です。また、すべてのフラグ、postData、およびヘッダーは空です。これはメインページをロードするだけなので、ターゲットフレームは空白です。この後、特定のフレームをロードするコードがあります。この部分は正常に機能します。Vistaで新しいウィンドウを開くのはNavigateメソッドです。フラグオプションのいくつかを使用してみましたが、役に立ちませんでした。

SHDocVw.InternetExplorer myIE = new SHDocVw.InternetExplorer();
string strDefault = "Frame.htm"
object Flags = new object();
object TargetFrameName = new object();
object PostData = new object();
object Headers = new object();
myIE.Navigate(strDefault, ref Flags, ref TargetFrameName, ref PostData, ref Headers);
4

2 に答える 2

1

IEInternalsブログから、Windows7のWebBrowserコントロールを使用したインプレースシェルナビゲーションをご覧ください。それはまったく同じ問題ではありませんが(または少なくとも私はそうではないと思います!)、うまくいけば、それはあなたを正しい答えに向けさせるでしょう。

于 2010-02-26T21:21:57.833 に答える
1

IEがVistaのOSで動作する方法に根本的な変更があります。これには、新しいブラウザ要求が同じプロセスではなく新しいプロセスで発生するという事実が含まれます。また、IE8を使用していますか?その場合、各タブは同じウィンドウ内の独自のプロセスで実行されます。

于 2010-02-26T21:16:12.103 に答える