在C#中,要捕获ProcessStartInfo
的输出,您需要将UseShellExecute
属性设置为false
,并将CreateNoWindow
属性设置为true
。然后,您可以使用Process
类的StandardOutput
属性来读取输出。以下是一个示例:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = "your_executable.exe", // 替换为您要运行的程序的名称
Arguments = "your_arguments", // 替换为您要传递给程序的参数
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardOutput = true // 将标准输出重定向到ProcessStartInfo实例
};
using (Process process = new Process { StartInfo = startInfo })
{
process.Start();
// 读取标准输出
string output = process.StandardOutput.ReadToEnd();
process.WaitForExit();
Console.WriteLine("Output: " + output);
}
}
}
在这个示例中,我们首先创建一个ProcessStartInfo
实例,并设置FileName
、Arguments
、UseShellExecute
、CreateNoWindow
和RedirectStandardOutput
属性。然后,我们使用Process
类启动一个新进程,并使用StandardOutput.ReadToEnd()
方法读取输出。最后,我们打印捕获到的输出。