Heim >Backend-Entwicklung >C++ >Wie kann ich Live -Konsolenausgabe von einer .NET -Anwendung erfassen und anzeigen?

Wie kann ich Live -Konsolenausgabe von einer .NET -Anwendung erfassen und anzeigen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-29 12:31:09783Durchsuche

How Can I Capture and Display Live Console Output from a .NET Application?

Echtzeit-Konsolenausgabeaufnahme in .NET-Anwendungen

Dieses Beispiel zeigt, wie die Ausgabe einer Konsolenanwendung in einer .NET -Anwendung in Echtzeit erfasst und angezeigt wird.

<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>

Detaillierte Erläuterung:

  • ProcessStartInfo.RedirectStandardOutput = true: Dies leitet die Standardausgabe der Konsolenanwendung in die .NET -Anwendung um.
  • Die while Schleife liest kontinuierlich Zeilen aus consoleApp.StandardOutput und zeigt sie mit Console.WriteLine() an. Die Hinzufügung eines Null -Checks verbessert die Robustheit des Code.
  • consoleApp.StandardOutput.EndOfStream: Diese Überprüfung, ob alle Ausgaben empfangen wurden.
  • consoleApp.WaitForExit(): Dies stellt sicher, dass die .NET -Anwendung auf den Abschluss der Konsolenanwendung wartet.

Für eine umfassende Ausgangsaufnahme sollten Sie den Standardfehlerstrom mit RedirectStandardError = true.

Das obige ist der detaillierte Inhalt vonWie kann ich Live -Konsolenausgabe von einer .NET -Anwendung erfassen und anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn