我有一个exe,我可以在下面的控制台中运行
util.exe argument1
我需要从CSharp应用程序调用它,我可以在下面执行
private string Command(string arg)
{
var p = new Process
{
StartInfo =
{
FileName = "util.exe",
Arguments = arg,
RedirectStandardOutput = true,
RedirectStandardInput = true,
CreateNoWindow = true,
UseShellExecute = false
}
};
var stdOutput = new StringBuilder();
p.OutputDataReceived += (sender, args) => stdOutput.AppendLine(args.Data);
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();
return stdOutput.ToString();
}
var result = Command(argument1) //call
但是有一个问题。 util.exe使用Windows登录凭据对用户进行身份验证。在应用程序中,我需要以不同的用户身份执行命令(如下所示)
util.exe login funcationaluser fuucntioanluserpwd
util.exe argument1
这样做的正确方法是什么?我可以重复使用该流程吗?
编辑:请注意,用户名和密码特定于util.exe,而不是系统用户名/密码