2015-01-31 37 views
0

如果我給Process.Start();提供參數"Firefox",Notepad"cmd",它會運行那些程序,就像它們的位置是內置的一樣,但是對於其他程序,我必須指定程序的目錄才能工作。c#Process.Start()方法如何自動知道文件的位置?

它如何自動知道某些程序的位置,以及爲什麼只有這些程序而不是其他程序?

我的代碼:

using System; 
using System.Diagnostics; 

namespace Testing 
{ 
public class MainClass 
{ 
    static void Main() 
    { 
     Process.Start("Firefox"); // Works 
     Process.Start("Notepad"); // Works 
     Process.Start(@"C:\Users\user\Desktop\Steam"); // Works too 
     Process.Start("Steam");  // This line gives me "The System cannot find the file specified"(run-time error) 
    } 
    } 
} 
+0

與'Run'thingy(Windows + R)相同,可能是PATH變量。 – 2015-01-31 18:45:58

回答

2

我認爲這取決於環境變量在Windows中。 或輸入PATH cmd並觀察路徑,其中可以自動找到* .exe文件。

+0

我已經完成了這些工作,但這些路徑中都沒有包含Firefox,記事本或CMD – JackBarn 2015-01-31 19:17:40

+0

@JackBarn。這是不可能的 - ** PATH **默認包含默認情況下* Program Files *和* Program Files(x86)*文件夾,默認情況下安裝記事本和Firefox – 2015-01-31 19:34:25

+0

在互聯網上環顧四周後, – JackBarn 2015-01-31 22:46:38

相關問題