puedo predeterminado poner navegador link internet google especifico configurar con como chrome cambiar abrir c# browser desktop-application

c# - poner - ¿Cómo puedo abrir una URL en el navegador predeterminado de los usuarios desde mi aplicación?



configurar internet explorer como predeterminado en windows 10 (2)

Process.Start ([su url]) es de hecho la respuesta, en todos los casos, salvo en los nichos. Para completar, sin embargo, mencionaré que nos topamos con un caso tan específico hace un tiempo: si está intentando abrir un url "file: /" (en nuestro caso, para mostrar la copia local instalada de nuestra webhelp), al lanzar desde el shell, los parámetros de la url fueron descartados.

Nuestra solución bastante hackosa, que no recomiendo a menos que encuentre un problema con la solución "correcta", se veía así:

En el controlador de clic para el botón:

string browserPath = GetBrowserPath(); if (browserPath == string.Empty) browserPath = "iexplore"; Process process = new Process(); process.StartInfo = new ProcessStartInfo(browserPath); process.StartInfo.Arguments = "/"" + [whatever url you''re trying to open] + "/""; process.Start();

La función fea que no debes usar a menos que Process.Start ([tu url]) no haga lo que esperas que sea:

private static string GetBrowserPath() { string browser = string.Empty; RegistryKey key = null; try { // try location of default browser path in XP key = Registry.ClassesRoot.OpenSubKey(@"HTTP/shell/open/command", false); // try location of default browser path in Vista if (key == null) { key = Registry.CurrentUser.OpenSubKey(@"Software/Microsoft/Windows/Shell/Associations/UrlAssociations/http", false); ; } if (key != null) { //trim off quotes browser = key.GetValue(null).ToString().ToLower().Replace("/"", ""); if (!browser.EndsWith("exe")) { //get rid of everything after the ".exe" browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4); } key.Close(); } } catch { return string.Empty; } return browser; }

¿Cómo puedo tener un botón en mi aplicación de escritorio que hace que el navegador predeterminado del usuario se inicie y muestre una URL proporcionada por la lógica de la aplicación.


Process.Start("http://www.google.com");