1

C#.NET でアプリケーションを開発しています。WebBrowser に IE9 バージョンを使用したい。IE9 がシステムにインストールされているかどうか。

WebBrower で IE9 を使用している可能性はありますか? 私のシステムに IE9 がインストールされていない可能性がありますか?

4

5 に答える 5

9

Windows Internet Explorer 8 以降では、FEATURE_BROWSER_EMULATION 機能が Internet Explorer の既定のエミュレーション モードを定義します。値 9999 - !DOCTYPE ディレクティブに関係なく、Web ページを IE9 標準モードで表示するように強制します。ターゲット システムに IE9 以降がインストールされている必要があります。インターネット機能コントロールの確認(B..C)

private static void WebBrowserVersionEmulation()
{
    const string BROWSER_EMULATION_KEY = 
    @"Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";
    //
    // app.exe and app.vshost.exe
    String appname = Process.GetCurrentProcess().ProcessName + ".exe";
    //
    // Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
    const int browserEmulationMode = 9999;

    RegistryKey browserEmulationKey =
        Registry.CurrentUser.OpenSubKey(BROWSER_EMULATION_KEY,RegistryKeyPermissionCheck.ReadWriteSubTree) ??
        Registry.CurrentUser.CreateSubKey(BROWSER_EMULATION_KEY);

    if (browserEmulationKey != null)
    {
        browserEmulationKey.SetValue(appname, browserEmulationMode, RegistryValueKind.DWord);
        browserEmulationKey.Close();
    }
}
于 2013-04-08T15:34:50.867 に答える
3

入れる

"<meta  http-equiv=\"X-UA-Compatible\" content=\"IE="\9\" >"

あなたのhtmlページに、Web_browserターゲットOSにすでにインストールされているIEのバージョンに依存するコントロールを知る必要があります

于 2013-04-08T08:38:55.727 に答える
0

いいえ、webbrowser-element (これを意味していると思います) は IE6 をベースにしています。プログラムからIE9のプロセス(名前はわかりませんが、firefoxの場合は単に「firefox.exe」)を開始することしかできません。

于 2013-04-08T08:34:23.250 に答える
0

レジストリからバージョンを読み取ることができます。

var ieVersion = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Internet Explorer").GetValue("Version");

また

WebBrowser コントロールがある場合は、そこから取得できます。

WebBrowser  browser = new WebBrowser();
Version ver = browser.Version;
于 2013-04-08T08:38:06.387 に答える