2011-06-04 31 views
13

我有一些代码,启动一个外部程序,尽管可能指定的工作目录,作为外部程序是一个控制台程序:开放计划从C# - 也指定工作目录

代码:

private void button5_Click_2(object sender, EventArgs e) 
    { 
     System.Diagnostics.Process.Start(@"update\update.exe"); 
    } 

回答

25

是的,这是可能的,使用ProcessStartInfo对象指定你需要的所有PARAMS,然后只将它传递给Start方式类似:

... 
using System.Diagnostics; 
... 

var psi = new ProcessStartInfo(@"update\update.exe"); 
    psi.WorkingDirectory = @"C:\workingDirectory"; 
Process.Start(psi); 
+0

感谢那就是我正在寻找! – Dan 2011-06-04 22:06:19

+0

@丹:没问题,欢迎来到 – Dyppl 2011-06-04 22:08:33

6

您可以使用ProcessStartInfo.WorkingDirectory指定工作目录。

... 
using System.Diagnostics; 
... 

var processStartInfo = new ProcessStartInfo(@"explorer.exe"); 
    processStartInfo.WorkingDirectory = @"C:\"; 
var process = Process.Start(processStartInfo); 
+0

网站@谢谢,很多appreicated – Dan 2011-06-04 22:06:47