2014-04-04 37 views
0

的路徑執行與的Process.Start(過程)我這樣做:使用過程

public static void ExecProcess(String path, string filename) 
{ 
    Process proc = new Process(); 
    proc.StartInfo.FileName = path + "nst.exe"; 
    proc.StartInfo.Arguments = filename; 
    proc.StartInfo.UseShellExecute = false; 
    proc.StartInfo.RedirectStandardError = true; 
    proc.StartInfo.RedirectStandardOutput = true; 

    proc.Start(); 
    proc.WaitForExit(); 
    var stringa = proc.StandardOutput.ReadToEnd(); 
    proc.Close(); 
} 

問題是我的進程正在使用我的C#應用​​程序的路徑,而不是它的路徑。所以nst.exeC:\Desktop,但是當我用上面的代碼調用它時,執行路徑變成了C:\\Documents\VisualStudio\MyProject\Debug\

如何在他的路徑中執行該過程?

[編輯] 這是我如何調用該方法:

public void EseguiOttimizzatore() 
    { 
     OttimizzatoreService.ExecProcess(@"C:\Users\Developer\Desktop\", _idPlanning.ToString() + ".dat"); 
    } 
+0

你是如何傳遞'path'到你的方法。 – Habib

+0

@Habib'@「C:\ Users \ Developer \ Desktop \」' – Federico

+1

分享你的方法調用代碼(以確定你是如何傳遞PATH),以便我們可以確定問題 – arpitbakshi

回答

1

設置的StartInfoWorkingDirectory屬性:

proc.StartInfo.WorkingDirectory = @"C:\Users\Developer\Desktop\"; 
+0

感謝它的工作! – Federico