3

大亀のミニボットを作ろうとしています。

IE9(WebBrowser.Version)であると言うWebBrowserクラスを実行します。

これを実行すると:

wb.Navigate(www.ogame.com.us);

そしてそれは言います:

"Your browser is not up to date."

ただし、Internet Explorer でページを起動すると、サイトが表示されます。.NET Framework 4.5でVisualStudio '12に組み込まれている WebBrowser は IE9ですか? わからないから。解決策はありますか?


前もって感謝します。

4

1 に答える 1

0

アプリケーションは、別のバージョンの IE をエミュレートする必要があります。これは、レジストリを介して行われます。

internal class Helper
{
    public static void SetBrowserEmulation(
        string programName, IE browserVersion)
    {
        if (string.IsNullOrEmpty(programName))
        {
            programName = AppDomain.CurrentDomain.FriendlyName;
            RegistryKey regKey = Registry.CurrentUser.OpenSubKey(
                "Software\\Microsoft\\Internet Explorer\\Main" + 
                "\\FeatureControl\\FEATURE_BROWSER_EMULATION", true);
            if (regKey != null)
            {
                try
                {
                    regKey.SetValue(programName, browserVersion, 
                        RegistryValueKind.DWord);
                }
                catch (Exception ex)
                {
                    throw new Exception("Error writing to the registry", ex);
                }
            }
            else
            {
                try
                {
                    regKey = Registry.CurrentUser.OpenSubKey("Software" + 
                        "\\Microsoft\\Internet Explorer\\Main" + 
                        "\\FeatureControl", true);
                    regKey.CreateSubKey("FEATURE_BROWSER_EMULATION");
                    regKey.SetValue(programName, browserVersion,
                        RegistryValueKind.DWord);
                }
                catch (Exception ex)
                {
                    throw new Exception("Error accessing the registry", ex);
                }
            }
        }
    }
}

internal enum IE
{
    IE7 = 7000,
    IE8 = 8000,
    IE8StandardsMode = 8888,
    IE9 = 9000,
    IE9StandardsMode = 9999,
    IE10 = 10000,
    IE10StandardsMode = 10001
}

このメソッドを呼び出します。

Helper.SetBrowserEmulation(AppDomain.CurrentDomain.FriendlyName, IE.IE10);

プログラムを再起動する必要があります。

于 2013-08-26T06:04:13.273 に答える