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
- Cet article fait référence à l’espace de noms
System.Diagnostics
bibliothèque de classes Microsoft .NET Framework . - Pour obtenir une version Visual C++ .NET de cet article, consultez Guide pratique pour démarrer par programmation le navigateur Internet par défaut à l’aide de Visual C++.
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 Process
classe.
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.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour