Quiero que mi aplicación WPF abra el navegador predeterminado y vaya a una determinada página web. ¿Cómo puedo hacer eso?
126
System.Diagnostics.Process.Start("http://www.webpage.com");
Una de muchas maneras.
He estado usando esta línea para iniciar el navegador predeterminado:
fuente
La respuesta aceptada ya no funciona en .NET Core 3 . Para que funcione, use el siguiente método:
fuente
Si bien se ha dado una buena respuesta (usando
Process.Start
), es más seguro encapsularla en una función que verifique que la cadena pasada sea de hecho un URI, para evitar iniciar accidentalmente procesos aleatorios en la máquina.fuente
Microsoft lo explica en el artículo KB305703 sobre Cómo iniciar el navegador de Internet predeterminado mediante programación utilizando Visual C # .
No olvides consultar la sección Solución de problemas.
fuente
No puede iniciar una página web desde una aplicación elevada. Esto generará una excepción 0x800004005, probablemente porque explorer.exe y el navegador se ejecutan sin elevación.
Para iniciar una página web desde una aplicación elevada en un navegador web no elevado, utilice el código creado por Mike Feng . Traté de pasar la URL a lpApplicationName pero eso no funcionó. Tampoco cuando uso CreateProcessWithTokenW con lpApplicationName = "explorer.exe" (o iexplore.exe) y lpCommandLine = url.
La siguiente solución funciona: Cree un pequeño proyecto EXE que tenga una tarea: Process.Start (url), use CreateProcessWithTokenW para ejecutar este .EXE. En mi Windows 8 RC esto funciona bien y abre la página web en Google Chrome.
fuente
Explorer.exe
no se admite el uso de la elevación: "Desafortunadamente, el equipo de Windows Shell ha respondido que el comportamiento actual de" Explorer.exe AppName.exe "es un error y puede no funcionar en futuras actualizaciones / versiones de Windows. Aplicaciones no debe confiar en ello ".Aquí está mi código completo de cómo abrir.
hay 2 opciones:
abrir usando el navegador predeterminado (el comportamiento es como abrir dentro de la ventana del navegador)
abrir a través de las opciones de comando predeterminadas (el comportamiento es como si usara el comando "RUN.EXE")
abrir a través de 'explorer' (el comportamiento es como si escribieras la URL dentro de la ventana de la carpeta)
[sugerencia opcional] 4. utilice la ubicación del proceso iexplore para abrir la url requerida
CÓDIGO:
y la función auxiliar:
Espero haber ayudado.
fuente
GetWindowsPath
?La vieja escuela;)
Utilizar:
openit("www.google.com");
fuente
Tengo la solución para esto porque hoy tengo un problema similar.
Supongamos que desea abrir http://google.com desde una aplicación que se ejecuta con privilegios de administrador:
fuente