温馨提示×

c# processstartinfo如何捕获输出

c#
小樊
87
2024-11-23 00:31:05
栏目: 编程语言

在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实例,并设置FileNameArgumentsUseShellExecuteCreateNoWindowRedirectStandardOutput属性。然后,我们使用Process类启动一个新进程,并使用StandardOutput.ReadToEnd()方法读取输出。最后,我们打印捕获到的输出。

0