在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()
方法讀取輸出。最后,我們打印捕獲到的輸出。