在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()
方法读取输出。最后,我们打印捕获到的输出。