estoy usando esto para obtener la ruta y el ejecutable del navegador web por defecto:Abrir un archivo HTML utilizando el navegador web por defecto
public static string DefaultWebBrowser
{
get
{
string path = @"\http\shell\open\command";
using (RegistryKey reg = Registry.ClassesRoot.OpenSubKey(path))
{
if (reg != null)
{
string webBrowserPath = reg.GetValue(String.Empty) as string;
if (!String.IsNullOrEmpty(webBrowserPath))
{
if (webBrowserPath.First() == '"')
{
return webBrowserPath.Split('"')[1];
}
return webBrowserPath.Split(' ')[0];
}
}
return null;
}
}
}
Y:
protected static bool Run(string FileName, string Args)
{
try
{
Process proc = new Process();
processInfo.FileName = FileName;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
if(Args != null) proc.StartInfo.Arguments = Args;
proc.Start();
return true;
}
catch (Exception) { }
return false;
}
Entonces me llaman el navegador web: Run(DefaultWebBrowser, "foo.html")
La pregunta es: Tengo un problema, la función anterior es llamar a Firefox e IE (los dos navegadores web instalados en mi pc) en lugar de Internet Explorer, el navegador web predeterminado. No tengo idea de cómo arreglar esto. Se agradece mucho cualquier ayuda. Gracias por adelantado.
EDITAR
he descargado e instalado el Google Chrome, como navegador web por defecto, pero curiosamente el error anterior no sucede con él.
Lo había intentado. Pero en algunas PC .htm/.html no se abren con un navegador web. las extensiones .htm/.html se pueden asociar con un editor de texto o IDE, por ejemplo. – Jack
Aunque se puede cambiar el programa predeterminado _no_, realmente no deberías tener un problema. Consulte [this] (http://support.microsoft.com/kb/224816) para obtener algunos consejos sobre el uso de 'ShellExecute' para iniciar el navegador web predeterminado, y también las rutas para algunas claves de registro (que probablemente ya sepa de). Al final, el usuario puede muy probablemente intervenir cambiando algunos programas predeterminados ... pero no debe preocuparse demasiado por esto, ya que es inevitable en cierta medida. – Spooky
Como dijo Jack, esta es una idea terrible. Personalmente, tengo un editor configurado como aplicación predeterminada para abrir archivos HTML, y me inquieta que los programas abren su archivo Léame en ese editor en lugar del navegador predeterminado. Hay una diferencia entre 'navegador predeterminado' y 'aplicación predeterminada para abrir HTML con' en Windows. – Nyerguds