Tengo una URL y deseo iniciarla en el navegador predeterminado. He intentado dos métodos:¿Cómo abro un navegador web desde un programa .NET? Process.Start() no está funcionando?
Process.Start("http://stackoverflow.com");
... y el que se detalla en este other question usando ShellExecute.
En ambos casos aparece el error: Windows no puede encontrar 'http://stackoverflow.com'. Asegúrese de escribir el nombre correctamente, y luego intente de nuevo.
No debería tratar de abrirlo como un archivo aunque ... por lo que entiendo, debe reconocerlo como una URL y abrirlo en el navegador predeterminado. ¿Qué me estoy perdiendo?
Por cierto: OS = Vista y .NET = 3,5
EDITAR:
Según this MS KB article, ya que establece el Process.Start UseShellExecute por defecto, se debe iniciar el navegador por defecto.
EDITAR:
Esto es lo que hace el trabajo:
System.Diagnostics.Process.Start(@"C:\Program Files\Internet Explorer\IExplore.exe", "http://stackoverflow.com");
desgracia que realmente no se inicia el navegador por defecto, y también no funciona si el IE no está instalado en el lugar "normal". No estoy seguro de qué hacer aquí.
Más información:
OK, por lo que el error que estoy recibiendo es el número de error -2147467259. Al mirar a Google por esto, parece que no es muy descriptivo. Puede ser un error de asociación de archivos o algo así.
La trama se complica:
lo que he comprobado la clave de registro que se supone que tiene mi asociación de archivos para http:
KEY_CLASSES_ROOT\http\shell\open\command\default
Aquí es el valor:
"C:\Program Files\Mozilla Firefox\firefox.exe" -requestPending -osint -url "%1"
Eso hace sentido. De hecho, copié esta cadena en un símbolo del sistema y reemplacé el% 1 con http://stackoverflow.com y funcionó y abrió Firefox. Simplemente no entiendo por qué Process.Start no es asociar la URL con este comando ...
Me pregunto si funciona mejor para las URL, incluido el nombre de archivo y la extensión. Pruébelo con "http://msdn.microsoft.com/en-us/default.aspx". –
Por cierto, no codifique "Archivos de programa" porque es diferente si la versión de Windows no está en inglés. –
@ M28: Eso es lo que dije, ¿no es así? –