2013-08-01 34 views
6

我有程序pro1.exe從輸入文件讀取,計算結果並將其寫入輸出文件。 現在我正在寫程序test.exe,該測試中,它在不同的測試(使用Process.Start()填寫輸入,運行PRO1與應該比較輸出)Process.Start()無法正常工作

問題是以下幾點:執行pro1.exe輸出文件後是空的。但是,如果我手動運行它,它將寫入輸出文件。

下面是代碼,我是如何執行的PRO1:

ProcessStartInfo processInfo = new ProcessStartInfo(); 
    processInfo.FileName = _applicationName; 
    processInfo.ErrorDialog = true; 
    processInfo.UseShellExecute = false; 
    processInfo.RedirectStandardOutput = true; 
    processInfo.RedirectStandardError = true; 

    Process proc = Process.Start(processInfo); 

_applicationName是EXE文件的完整路徑。

在調試我看到,該過程開始,並沒有錯誤結束。

回答

9

這通常是由不同的WorkingDirectory造成的。您可能需要設置WorkingDirectory屬性以匹配可執行文件的路徑。

沒有這個,當UseShellExecute == false時,工作目錄可能不是應用程序的本地路徑。

+1

哇...非常感謝,設置'WorkingDirectory'幫助 – Vita1ij