.net Process.Start(url)和url中的锚点

.net Process.Start(url)和url中的锚点,.net,url,flare,madcap,.net,Url,Flare,Madcap,我正在尝试使用Process。开始在默认浏览器中启动本地html文件 示例url如下所示: "file:///C:/Documentation/HelpContent/default_CSH.htm#SectionA/Topic1.htm" 问题是,“#section A/Topic1.htm”位由于某种原因被剥离,因此该信息不会传递给浏览器。但是,对于非本地url,它确实可以正常工作 有人知道我怎样才能让它工作吗?或者这是某种预防性的安全问题吗 谢谢使用过程。在iexplore.exe上启动

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

示例url如下所示:

"file:///C:/Documentation/HelpContent/default_CSH.htm#SectionA/Topic1.htm"
问题是,“#section A/Topic1.htm”位由于某种原因被剥离,因此该信息不会传递给浏览器。但是,对于非本地url,它确实可以正常工作

有人知道我怎样才能让它工作吗?或者这是某种预防性的安全问题吗


谢谢

使用
过程。在
iexplore.exe
上启动
,以便您可以指定URL作为其参数:

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

如果让操作系统确定默认浏览器,则在浏览器中启动带有定位点的URL不起作用。唯一可行的方法是指定浏览器的可执行文件,就像binarycoder为IE编写的那样。这与Firefox的工作方式相同


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

如果将地址粘贴到浏览器地址栏中,该地址是否有效?尝试从锚标签中删除/字符…是的,我同意。该URL中有两个文件名,这有点奇怪。不幸的是,该URL是必需的-该URL是这样的,因为它正在另一个框架中启动Topic1.htm(这是MadCap Flare的WebHelp输出),谢谢-暂时使用此方法。实际上,我需要能够在默认浏览器中打开它,而不是局限于IE。这是一篇很好的文章,向您展示了如何从注册表获取默认浏览器路径