Maison > développement back-end > C++ > Comment puis-je capturer et afficher la sortie de la console en direct à partir d'une application .NET?

Comment puis-je capturer et afficher la sortie de la console en direct à partir d'une application .NET?

Barbara Streisand
Libérer: 2025-01-29 12:31:09
original
779 Les gens l'ont consulté

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

Capture de sortie de la console en temps réel dans les applications .NET

Cet exemple montre comment capturer et afficher la sortie d'une application de console dans une application .NET en temps réel.

<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>
Copier après la connexion

Explication détaillée:

  • ProcessStartInfo.RedirectStandardOutput = true: Cela redirige la sortie standard de l'application de console vers l'application .NET.
  • La boucle while lit en continu les lignes de consoleApp.StandardOutput et les affiche en utilisant Console.WriteLine(). L'ajout d'une vérification nul améliore la robustesse du code.
  • consoleApp.StandardOutput.EndOfStream: Cela vérifie si toutes les sorties ont été reçues.
  • consoleApp.WaitForExit(): Cela garantit que l'application .NET attend l'achèvement de l'application de console.

Pour une capture de sortie complète, envisagez de rediriger le flux d'erreur standard en utilisant RedirectStandardError = true.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal