Process.Start(url) с привязкой в ​​URL

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

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

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

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

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

Спасибо

2 ответа

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

System.Diagnostics.Process.Start("iexplore.exe", @"file:///c:/dir/file.html#anchor");

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

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

Другие вопросы по тегам