在.NET應用程序中
實時控制台輸出捕獲
此示例顯示瞭如何實時在.NET應用程序中捕獲和顯示控制台應用程序的輸出。
<code class="language-csharp">using System.Diagnostics; namespace RealtimeConsoleOutput { class Program { static void Main(string[] args) { // Initiate the process for the console application. Process consoleApp = new Process(); // Configure process settings. consoleApp.StartInfo.FileName = "csc.exe"; // Assumes 'csc.exe' is in the system PATH consoleApp.StartInfo.Arguments = "/r:System.dll /out:sample.exe stdstr.cs"; consoleApp.StartInfo.UseShellExecute = false; consoleApp.StartInfo.RedirectStandardOutput = true; // Begin the process. consoleApp.Start(); // Continuously read and display output. while (!consoleApp.StandardOutput.EndOfStream) { string line = consoleApp.StandardOutput.ReadLine(); if (!string.IsNullOrEmpty(line)) // added null check for robustness Console.WriteLine(line); } // Wait for the console application to finish. consoleApp.WaitForExit(); } } }</code>
詳細說明:
ProcessStartInfo.RedirectStandardOutput = true
while
consoleApp.StandardOutput
Console.WriteLine()
:這檢查是否已收到所有輸出。 consoleApp.StandardOutput.EndOfStream
:這確保.NET應用程序等待控制台應用程序的完成。 consoleApp.WaitForExit()
要進行全面的輸出捕獲,請考慮使用以上是如何從.NET應用程序中捕獲和顯示實時控制台輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!