一个进程上的两个命令

时间:2017-09-29 13:32:13

标签: c# process

我有一个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,而不是系统用户名/密码

0 个答案:

没有答案