C#.NET でアプリケーションを開発しています。WebBrowser に IE9 バージョンを使用したい。IE9 がシステムにインストールされているかどうか。
WebBrower で IE9 を使用している可能性はありますか? 私のシステムに IE9 がインストールされていない可能性がありますか?
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();
}
}
入れる
"<meta http-equiv=\"X-UA-Compatible\" content=\"IE="\9\" >"
あなたのhtmlページに、Web_browser
ターゲットOSにすでにインストールされているIEのバージョンに依存するコントロールを知る必要があります
いいえ、webbrowser-element (これを意味していると思います) は IE6 をベースにしています。プログラムからIE9のプロセス(名前はわかりませんが、firefoxの場合は単に「firefox.exe」)を開始することしかできません。
レジストリからバージョンを読み取ることができます。
var ieVersion = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Internet Explorer").GetValue("Version");
また
WebBrowser コントロールがある場合は、そこから取得できます。
WebBrowser browser = new WebBrowser();
Version ver = browser.Version;