Utiliser Visual C# pour démarrer le navigateur Internet par défaut par programmation

Cet article explique comment démarrer le navigateur Internet par défaut à l’aide de Visual C#.

Version de produit d’origine : Visual Studio
Numéro de la base de connaissances d’origine : 305703

Remarque

Spécifier l’URL, LE FTP ou le fichier à ouvrir

Vous pouvez spécifier une URL, un fichier ou une adresse FTP (File Transfer Protocol). Ces trois affectations sont valides :

string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";

Utiliser la méthode Start de la classe Process pour démarrer le navigateur

La Process classe contient une méthode statique Start . Étant donné qu’il s’agit d’une méthode statique, vous pouvez appeler Start sans avoir de instance d’une Process classe.

System.Diagnostics.Process.Start(target);

Pour plus d’informations sur la classe , consultez Traiter la Processclasse.

Fournir la gestion des exceptions

Étant donné que vous tirez parti de la propriété par défaut UseShellExecute lorsque vous appelez la Start méthode , vous n’avez pas besoin d’interroger explicitement le Registre pour déterminer quel navigateur est le navigateur par défaut. Toutefois, si vous utilisez cette approche sur un ordinateur sur lequel aucun navigateur n’est installé, une exception se produit. Cette exception doit être interceptée afin que l’action appropriée puisse être prise.

Cet exemple intercepte explicitement une erreur générée lorsque la clé de Registre nécessaire est introuvable et indique qu’aucun navigateur n’est installé. En outre, un gestionnaire d’exceptions général est fourni pour les autres erreurs qui peuvent se produire. Le try...catch bloc est illustré dans la liste complète du code.

Exemple de code complet

string target= "http://www.microsoft.com";
//Use no more than one assignment when you test this code.
//string target = "ftp://ftp.microsoft.com";
//string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
try
{
    System.Diagnostics.Process.Start(target);
}
catch (System.ComponentModel.Win32Exception noBrowser)
{
    if (noBrowser.ErrorCode==-2147467259)
    MessageBox.Show(noBrowser.Message);
}
catch (System.Exception other)
{
    MessageBox.Show(other.Message);
}

Résolution des problèmes

Ce code dépend fortement des associations de type de fichier d’application dans la ruche HKEY_CLASSES_ROOT (HKCR) du Registre. Cela peut entraîner des résultats inattendus et des exceptions si le registre est endommagé. En outre, les types de fichiers et les extensions peuvent être associés à des applications autres que le navigateur. Par exemple, les fichiers HTM ou HTML peuvent être associés à un logiciel de développement web au lieu du navigateur.