Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article montre comment démarrer le navigateur Internet par défaut à l’aide d’extensions managées pour Visual C++.
Version du produit d’origine : Visual C++
Numéro de base de connaissances d’origine : 307382
Note
- Pour obtenir une version Microsoft Visual C# .NET de cet article, consultez Comment démarrer le navigateur Internet par défaut par programmation à l’aide de Visual C#.
- Cet article fait référence aux espaces de noms de la bibliothèque de classes
System.Diagnostics.Process
.NET Framework etSystem.Windows.Forms
.
Spécifier l’URL, FTP ou le fichier à ouvrir
Vous pouvez spécifier une URL (Uniform Resource Locator), un fichier ou une adresse FTP (File Transfer Protocol). Les trois affectations suivantes sont valides :
System::String * target= "http://www.microsoft.com";
System::String * target = "ftp://ftp.microsoft.com";
System::String * target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
Utiliser la méthode Process class Start pour démarrer le navigateur
La Process
classe contient une méthode statique Start
. Comme il s’agit d’une méthode statique, vous pouvez appeler Start
sans avoir d’instance d’une Process
classe.
System::Diagnostics::Process::Start(target);
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 la valeur par défaut. Toutefois, si vous utilisez cette approche sur un ordinateur qui n’a pas de navigateur installé, une exception se produit. Cette exception doit être interceptée afin que l’action appropriée puisse être effectuée. 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 d’autres erreurs qui peuvent se produire. Le try...catch
bloc est illustré dans l’exemple de code complet.
Exemple de code complet
#using <mscorlib.dll>
#using <system.dll>
#using <System.Windows.Forms.dll>
int main()
{
//Use no more than one assignment when you test this code.
//System::String * target= "http://www.microsoft.com";
//System::String * target = "ftp://ftp.microsoft.com";
System::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)
System::Windows::Forms::MessageBox::Show(noBrowser->Message);
}
catch (System::Exception * other)
{
System::Windows::Forms::MessageBox::Show(other->Message);
}
return 0;
}
Dépannage
Ce code dépend fortement des associations de types de fichiers d’application dans la ruche HKEY_CLASSES_ROOT du Registre. Ce qui 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 HTML (Hyper Text Markup Language) ou HTM peuvent être associés au logiciel de développement web au lieu du navigateur.