Я использую это, чтобы получить путь и исполняемый файл веб-браузер по умолчанию:Открыть HTML-файл с помощью веб-браузер по умолчанию
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;
}
}
}
И:
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;
}
Затем я называю веб-браузер: Run(DefaultWebBrowser, "foo.html")
Вопрос: У меня проблема. Вышеупомянутая функция вызывает firefox и IE (два веб-браузера, установленные на моем компьютере), а не Internet Explorer, веб-браузер по умолчанию. Я не знаю, как это исправить. Любая помощь очень ценится. Заранее спасибо.
EDIT
Я скачал и установил Google Chrome, установите его в качестве веб-браузера по умолчанию, но странно выше ошибка не происходит с ним.
Я пробовал. Но в некоторых ПК .htm/.html не открывается с помощью веб-браузера. расширения .htm/.html могут быть связаны с текстовым редактором или IDE, например. – Jack
Хотя программа по умолчанию _can_ должна быть изменена, у вас не должно быть проблем. См. [This] (http://support.microsoft.com/kb/224816) для получения некоторых советов по использованию 'ShellExecute' для запуска веб-браузера по умолчанию, а также путей для некоторых разделов реестра (которые вы, вероятно, уже знаете из). В конце концов, пользователь может, скорее всего, вмешаться, изменив некоторые программы по умолчанию ... но вы не должны слишком беспокоиться об этом, поскольку это неизбежно в определенной степени. – Spooky
Как сказал Джек, это ужасная идея. У меня лично есть редактор, установленный как приложение по умолчанию для открытия HTML-файлов, и это меня не разочаровывает, когда программы открывают файл readme в этом редакторе вместо браузера по умолчанию. Существует различие между «браузером по умолчанию» и «стандартным приложением для открытия HTML с» в Windows. – Nyerguds