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.
Очевидно, что лучшим решением будет определить путь к браузеру по умолчанию из реестра, а затем специально вызвать этот исполняемый файл.