我正在尝试使用Process.Start在默认浏览器中启动本地html文件。
示例网址如下:
"file:///C:/Documentation/HelpContent/default_CSH.htm#SectionA/Topic1.htm"
问题是,“#SectionA / Topic1.htm”位由于某种原因被剥离,因此该信息不会传递给浏览器。但它确实适用于非本地URL。
有谁知道如何让这个工作起作用,还是某种预防性安全问题?
感谢
答案 0 :(得分:4)
在Process.Start
上使用iexplore.exe
,以便您可以将URL明确指定为其参数:
System.Diagnostics.Process.Start("iexplore.exe", @"file:///c:/dir/file.html#anchor");
答案 1 :(得分:2)
如果让操作系统确定默认浏览器,则在浏览器中使用锚点启动URL不起作用。使这项工作的唯一方法是将浏览器的可执行文件指定为用于IE的二进制编码器。它的工作原理与Firefox相同。
最好的解决方案显然是从注册表中确定默认浏览器的路径,然后专门调用该可执行文件。