Process.Start (url) с привязкой в ​​URL - PullRequest
5 голосов
/ 08 марта 2010

Я пытаюсь использовать Process.Start для запуска локального HTML-файла в браузере по умолчанию.

Пример URL выглядит следующим образом:

"file:///C:/Documentation/HelpContent/default_CSH.htm#SectionA/Topic1.htm"

Проблема в том, что по какой-то причине бит «# SectionA / Topic1.htm» удаляется, поэтому эта информация не передается в браузер. Однако он работает нормально для нелокального URL.

Кто-нибудь знает, как я могу заставить это работать или это какая-то превентивная проблема безопасности?

спасибо

Ответы [ 2 ]

4 голосов
/ 10 марта 2010

Используйте Process.Start на iexplore.exe, чтобы вы могли указать URL-адрес специально в качестве аргумента:

System.Diagnostics.Process.Start("iexplore.exe", @"file:///c:/dir/file.html#anchor");
2 голосов
/ 30 марта 2011

Запуск URL с привязкой в ​​браузере не работает, если вы разрешите ОС определять браузер по умолчанию. Единственный способ заставить эту работу - указать исполняемый файл браузера, как двоичный кодировщик, написанный для IE. Для Firefox он работает так же.

Наилучшим решением, очевидно, является определение пути к браузеру по умолчанию из реестра, а затем конкретный вызов этого исполняемого файла.

...