2013-12-10 134 views
1

想知道如何通過C#命令在IE中打開文本文件?我只能到目前爲止打開文件,然後它要求確認哪個程序打開它。這似乎有點不專業,就是用這個代碼:在網絡瀏覽器中打開記事本文件

Help.ShowHelp(button5,"file:E:/Gradecalculator/Gradecalculator/index.html"); 

或驗證碼:

System.Diagnostics.Process.Start("file:E:/Gradecalculator/Gradecalculator/index.html"); 

我的這些問題是它要求用戶選擇一個程序來打開它,並我希望它能夠在IE中自動打開它(用戶將擁有IE)。謝謝,如果你能幫助!

+0

使用'System.Diagnostics.Process.Start(@「E:\ Gradecalculator \ Gradecalculator \ index.html」);'如果用戶被要求選擇一個程序,那麼他們需要修復他們的機器 –

+0

開始iexplore .exe然後,並將該文件作爲參數傳遞,而不是依賴shell打開動詞... –

+0

@RemusRusanu Ooh no。這是相反的方式。 –

回答

2

問題:文件將打開其相關聯的默認application,如果沒有application默認情況下,相關聯,那麼它會要求用戶選擇的應用程序。

解決方案:您需要Associate與您要打開你的fileApplication

試試這個:

using System.Diagnostics; 

Process process=new Process(); 
ProcessStartInfo start=new ProcessStartInfo(); 
start.FileName="IEXPLORE.exe"; 
[email protected]"E:/Gradecalculator/Gradecalculator/index.html"; 
process.StartInfo=start; 
process.Start(); 
+0

您需要在程序中包含'using System.diagnostics;',請參閱我編輯的答案。 –

+1

@Downvoter會很高興,如果你能改善這篇文章。 –

+0

這個完美的作品,謝謝 –

3

原生回答你直接的問題,是執行iexplore.exe傳遞URL作爲參數。不過,我不會推薦這樣,所以不會顯示你的代碼。如果你覺得不得不這樣做,那麼你一定可以解決如何做到這一點。

此代碼從你的問題:

Process.Start(@"E:\Gradecalculator\Gradecalculator\index.html"); 

其實這樣做的正確方法。您不應該強制用戶使用特定的Web瀏覽器。你應該尊重他們的選擇。

如果這段代碼導致用戶被問及用哪個程序打開文件,那麼問題就是純粹的環境問題。該機器上的文件關聯被破壞。

所以正確的解決方案是使用上面的代碼,並修復關聯。

+0

+ Infinity的正確答案! – Jamiec

+0

我理解你的意思,但是我的大學機器上的文件關聯被破壞,沒有默認的網頁瀏覽器,直到你在會話中設置了一個,它會要求用戶從程序列表中打開文件。我想繞過這一點,我知道這個程序將在大學計算機上使用,因爲我的老師會檢查它。 –

相關問題