在网址中使用锚点的Process.Start(url)

时间:2010-03-08 20:21:07

标签: .net url flare madcap

我正在尝试使用Process.Start在默认浏览器中启动本地html文件。

示例网址如下:

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

问题是,“#SectionA / Topic1.htm”位由于某种原因被剥离,因此该信息不会传递给浏览器。但它确实适用于非本地URL。

有谁知道如何让这个工作起作用,还是某种预防性安全问题?

感谢

2 个答案:

答案 0 :(得分:4)

Process.Start上使用iexplore.exe,以便您可以将URL明确指定为其参数:

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

答案 1 :(得分:2)

如果让操作系统确定默认浏览器,则在浏览器中使用锚点启动URL不起作用。使这项工作的唯一方法是将浏览器的可执行文件指定为用于IE的二进制编码器。它的工作原理与Firefox相同。

最好的解决方案显然是从注册表中确定默认浏览器的路径,然后专门调用该可执行文件。