执行目录

时间:2015-01-01 15:55:40

标签: c# directory

我有一个正在运行的C#程序,我想在不同的目录中启动另一个可执行文件。

我在事件上有这个代码:

 string path = "Y:\Program\test.exe";
 Process.Start(path);

问题是,为了让程序正常工作,它需要从exe文件所在的settings.ini获取信息,但它需要从我尝试启动第二个程序的程序文件夹中的settings.ini。当我通过双击打开它的文件夹时,test.exe工作正常。可能是什么问题?

1 个答案:

答案 0 :(得分:2)

您需要通过ProcessStartInfo.WorkingDirectory告诉流程工作目录是什么:

var processStartInfo = new ProcessStartInfo
{
    WorkingDirectory = @"Y:\Program",
    FileName = @"Y:\Program\test.exe",
};

Process.Start(processStartInfo);

修改

要从用户获取目录,您可以使用DirectoryInfo.FullName

var userFileInfo = new FileInfo(userInsertedVariableHere);
var parentDirectory = userFileInfo.Directory.FullName;