执行目录

Executing directory

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

我有这个活动代码:

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

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

您需要通过 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;