Process.start:如何获取输出?

我想从我的Mono / .NET应用程序运行一个外部命令行程序。例如,我想运行 。可能吗:

  1. 要获取命令行shell输出,并将其写在我的文本框中?
  2. 要获取数值以显示经过时间的进度条?

回答:

适当地创建Process对象集时StartInfo

var proc = new Process 

{

StartInfo = new ProcessStartInfo

{

FileName = "program.exe",

Arguments = "command line arguments to your executable",

UseShellExecute = false,

RedirectStandardOutput = true,

CreateNoWindow = true

}

};

然后开始该过程并从中读取:

proc.Start();

while (!proc.StandardOutput.EndOfStream)

{

string line = proc.StandardOutput.ReadLine();

// do something with line

}

您可以使用int.Parse()int.TryParse()将字符串转换为数字值。如果读取的字符串中包含无效的数字字符,则可能必须先进行一些字符串操作。

以上是 Process.start:如何获取输出? 的全部内容, 来源链接: utcz.com/qa/426038.html

回到顶部