2010-03-08 101 views
5

我想使用Process.Start在默認瀏覽器中啓動本地html文件。Process.Start(網址)與錨點在url

一個例子網址如下:

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

問題是,在「#部1./Topic1.htm」位被扒掉出於某種原因,使該信息不傳遞給瀏覽器。但它確實爲非本地網址工作正常。

有沒有人知道我可以如何得到這個工作或是某種預防性安全問題?

感謝

+0

如果將地址粘貼到瀏覽器地址欄中,該地址是否有效?嘗試從錨標籤中刪除/字符... – munissor 2010-03-08 20:30:42

+0

是的,我同意。該URL中有兩個文件名,這有點奇怪。 – jgallant 2010-03-08 20:34:57

+0

不幸的是,/需要在那裏 - url是這樣的,因爲它在另一個框架中啓動Topic1.htm(這是MadCap Flare的WebHelp輸出) – 2010-03-08 21:06:44

回答

4

使用Process.Startiexplore.exe,這樣就可以指定URL專門爲它的參數:

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

謝謝 - 暫時使用了此方法。真的,我需要能夠在默認瀏覽器中打開它,而不是限制爲IE。 – 2010-03-10 15:29:09

2

啓動一個URL在瀏覽器中的錨如果你讓操作系統無法正常工作確定默認瀏覽器。完成這項工作的唯一方法是將瀏覽器的可執行文件指定爲binarycoder爲IE編寫的代碼。它的工作方式與Firefox相同。

最好的解決方案顯然是從註冊表中確定默認瀏覽器的路徑,然後專門調用該可執行文件。

+0

[這裏](http://en.code-bude.net/2013/04/28/how-to-retrieve-default-browsers-path-in-c/)是一篇不錯的文章,向你展示如何獲得來自注冊表的默認瀏覽器路徑 – Chris 2014-09-02 23:59:38