Maison >développement back-end >C++ >Comment puis-je utiliser la dernière version Internet Explorer avec le contrôle C # WebBrowser?

Comment puis-je utiliser la dernière version Internet Explorer avec le contrôle C # WebBrowser?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-30 14:41:11918parcourir

How Can I Use the Latest Internet Explorer Version with the C# WebBrowser Control?

La dernière version d'Internet Explorer

Le contrôle WebBrowser dans l'application

C # Windows Forms utilise Internet Explorer 7 par défaut. Bien qu'il puisse être modifié à 9 via la technologie "Simulation du navigateur", cela ne peut pas accéder à la dernière version Internet Explorer.

Définissez l'élément de registre IE pour le contrôle WebBrowser

Pour permettre au contrôle WebBrowser d'utiliser la dernière version Internet Explorer, vous devez configurer un élément de registre. Ce qui suit est un fragment de code:

La valeur de registre de différentes versions IE
<code class="language-csharp">private void SetIEKeyForWebBrowserControl(string appName, int ieVersion)
{
    try
    {
        string keyPath = Environment.Is64BitOperatingSystem ?
            @"SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION" :
            @"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION";

        Microsoft.Win32.RegistryKey registryKey = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(keyPath, true);

        string appKeyName = string.Format("{0}.exe", appName);
        if (registryKey.GetValue(appKeyName) == null)
        {
            registryKey.SetValue(appKeyName, ieVersion, Microsoft.Win32.RegistryValueKind.DWord);
            MessageBox.Show("应用程序设置已成功应用");
        }
        else
        {
            MessageBox.Show("应用程序设置已存在");
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show("应用程序设置失败", ex.Message);
    }
}</code>

Les valeurs de clés suivantes correspondent à la version spécifique de l'explorateur Internet:

11001 (0x2af9) -Tact

11000 (0x2af8) -Tact
    10001 (0x2711) -Teternnet Explorer 10 (ie10 Mode standard)
  • 10000 (0x2710) -Teternnet Explorer 10 (IE10 Mode standard -default)
  • 9999 (0x270f) -ternet Explorer 9 (Mode standard IE9)
  • 9000 (0x2328) -TYSNET Explorer 9 (Mode IE9 -Default)
  • 8888 (0x22b8) -ternet Explorer 8 (Mode standard IE8)
  • 8000 (0x1f40) -ternet Explorer 8 (mode IE8 -Default)
  • Déterminez la dernière version IE
  • Pour obtenir la dernière version IE qui a été installée, veuillez utiliser le code suivant:

Définissez automatiquement l'élément de registre pour la dernière version IE

Ce qui suit est un exemple de code, qui est utilisé pour déterminer et définir automatiquement l'élément de registre pour la dernière version IE:

<code class="language-csharp">using mshtml;

public static int GetLatestIEVersion()
{
    int version = 0;
    try
    {
        object versionObject = InternetExplorerManager.GetActiveVersion();
        if (versionObject == null) throw new Exception("无法确定最新的IE版本。");
        version = (int)versionObject;
    }
    catch { version = 7; }
    return version;
}</code>

Autres conseils

Pour les systèmes d'exploitation 64-bits, assurez-vous que les autorisations nécessaires ont été accordées dans le registre, par exemple, en utilisant la propriété "DevideDexecutionLevel" en utilisant la "demande d'emploi" demandedExecutionLeve "dans la liste des applications.

<code class="language-csharp">private void Form1_Load(object sender, EventArgs e)
{
    int latestVersion = GetLatestIEVersion();
    SetIEKeyForWebBrowserControl("MyApplication", latestVersion);
}</code>
Si des problèmes de compatibilité se produisent, envisagez d'ajouter

Meta Marks à votre page Web.

Cette réponse révisée simplifie le code, supprime la vérification inutile de
    (car le définition de la valeur se remplacera s'il existe) et clarifie les explications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn