gpt4 book ai didi

c# - 向 ProcessStartInfo 添加其他参数

转载 作者:行者123 更新时间:2023-11-30 20:35:21 29 4
gpt4 key购买 nike

我创建了一个方法,它将以管理员身份执行 .exe 文件。
我想对两个不同的 .exe 文件使用相同的方法,但是 .exe 文件看起来彼此不同。因此,它们需要不同数量的参数。
方法如下:

public static int RunProcessAsAdmin(string exeName, string parameters)
{
try {
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.WorkingDirectory = CurrentDirectory;
startInfo.FileName = Path.Combine(CurrentDirectory, exeName);
startInfo.Verb = "runas";

if (parameters.Contains("myValue")) {
startInfo.Arguments = parameters + "otherParam1" + "otherParam2";
} else {
startInfo.Arguments = parameters;
}
startInfo.WindowStyle = ProcessWindowStyle.Normal;
startInfo.ErrorDialog = true;

Process process = process.Start(startInfo);
process.WaitForExit();
return process.ExitCode;
}

} catch (Exception ex) {
WriteLog(ex);
return ErrorReturnInteger;
}
}

这里 if (parameters.Contains("myValue")) 我以某种方式检测到正在执行哪个 .exe 文件。但是,像这样添加参数无法正常工作:startInfo.Arguments = parameters + "otherParam1"+ "otherParam2";

是否可以像这样添加额外的参数?

最佳答案

ProcessStartInfo.Arguments 只是一个字符串,因此在每个参数之间放置一个空格:

startInfo.Arguments = "argument1 argument2";

更新:

所以改变:

startInfo.Arguments = parameters + "otherParam1" + "otherParam2";

对此(仅当您将"otherParam1""otherParam2" 更改为变量时):

startInfo.Arguments = parameters + " " + "otherParam1" + " " + "otherParam2";

如果您不打算将 "otherParam1""otherParam2" 更改为变量,则使用:

startInfo.Arguments = parameters + " " + "otherParam1 otherParam2";

关于c# - 向 ProcessStartInfo 添加其他参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38141072/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com