C# 启动另一个程序

这个话题说起来很简单。不就是:

System.Diagnostics.Process.Start(@"C:\XXXX.exe");

那要是你启动的这个程序如:XXXX.exe 他还要去读取他的配置文件,你就会发现他根本找不到相应的配置文件,而会报如下错:

System.IO.FileNotFoundException: 未能找到文件“C:\WINDOWS\system32\Config\user.ini”。
文件名:“C:\WINDOWS\system32\Config\user.ini”

那你肯定想到了Process.Start根本就没有找我想要的目录。那应该指定Process到我指定的目录下打开XXXX.exe文件呢。具体实现如下:

string baseDir="c:\\";
Process startProc = new Process();
startProc.StartInfo.FileName = System.IO.Path.Combine(baseDir, "APGIS.Tools.exe");  //就是你要打开的文件的详细路径
startProc.StartInfo.UseShellExecute = true;
startProc.StartInfo.WorkingDirectory = baseDir; //就是如APGIS.Tools.exe 执行文件是在那个文件夹下。
startProc.Start();

原文地址:https://www.cnblogs.com/jiguixin/p/2193454.html