Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo iniciar el explorador de Internet predeterminado mediante Visual C#.
Versión original del producto: Visual Studio
Número de KB original: 305703
Nota:
- En este artículo se hace referencia al espacio de nombres
System.Diagnostics
biblioteca de clases de Microsoft .NET Framework . - Para obtener una versión de .NET de Visual C++ de este artículo, vea Cómo iniciar mediante programación el explorador de Internet predeterminado mediante Visual C++.
Especifique la dirección URL, FTP o archivo que se va a abrir.
Puede especificar una dirección URL, un archivo o un protocolo de transferencia de archivos (FTP). Las tres asignaciones son válidas:
string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
Use el método Process class Start para iniciar el explorador.
La Process
clase contiene un método estático Start
. Dado que es un método estático, puede llamar Start
a sin tener una instancia de una Process
clase.
System.Diagnostics.Process.Start(target);
Para obtener más información sobre la Process
clase , vea Clase process.
Proporcionar control de excepciones
Dado que aprovecha la propiedad predeterminada UseShellExecute
al llamar al Start
método , no tiene que consultar explícitamente el registro para determinar qué explorador es el valor predeterminado. Sin embargo, si usa este enfoque en un equipo que no tiene instalado un explorador, se produce una excepción. Esta excepción debe detectarse para que se pueda realizar la acción adecuada.
En este ejemplo se intercepta explícitamente un error que se genera cuando no se encuentra la clave del Registro necesaria e indica que no hay ningún explorador instalado. Además, se proporciona un controlador de excepciones general para otros errores que pueden producirse. El try...catch
bloque se muestra en la lista de código completa.
Ejemplo con todo el código
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);
}
Solución de problemas
Este código depende en gran medida de las asociaciones de tipo de archivo de aplicación en el subárbol de HKEY_CLASSES_ROOT (HKCR) del registro. Puede provocar resultados inesperados y excepciones si el registro está dañado. Además, los tipos de archivo y extensiones pueden estar asociados con aplicaciones distintas del explorador. Por ejemplo, los archivos HTM o HTML pueden estar asociados con el software de desarrollo web en lugar del explorador.