Process.StandardInput Propriedade

Definição

Obtém um fluxo usado para gravar a entrada do aplicativo.

public System.IO.StreamWriter StandardInput { get; }
[System.ComponentModel.Browsable(false)]
public System.IO.StreamWriter StandardInput { get; }

Valor da propriedade

Um StreamWriter que pode ser usado para gravar o fluxo de entrada padrão do aplicativo.

Atributos

Exceções

O fluxo StandardInput não foi definido porque RedirectStandardInput está definido como false.

Exemplos

O exemplo a seguir ilustra como redirecionar o StandardInput fluxo de um processo. O exemplo inicia o sort comando com entrada redirecionada. Em seguida, ele solicita texto ao usuário e o passa para o sort processo por meio do fluxo redirecionado StandardInput . Os sort resultados são exibidos para o usuário no console.

using System;
using System.IO;
using System.Diagnostics;
using System.ComponentModel;

namespace ProcessStandardInputSample
{
    class StandardInputTest
    {
        static void Main()
        {
            Console.WriteLine("Ready to sort one or more text lines...");

            // Start the Sort.exe process with redirected input.
            // Use the sort command to sort the input text.
            using (Process myProcess = new Process())
            {
                myProcess.StartInfo.FileName = "Sort.exe";
                myProcess.StartInfo.UseShellExecute = false;
                myProcess.StartInfo.RedirectStandardInput = true;

                myProcess.Start();

                StreamWriter myStreamWriter = myProcess.StandardInput;

                // Prompt the user for input text lines to sort.
                // Write each line to the StandardInput stream of
                // the sort command.
                String inputText;
                int numLines = 0;
                do
                {
                    Console.WriteLine("Enter a line of text (or press the Enter key to stop):");

                    inputText = Console.ReadLine();
                    if (inputText.Length > 0)
                    {
                        numLines++;
                        myStreamWriter.WriteLine(inputText);
                    }
                } while (inputText.Length > 0);

                // Write a report header to the console.
                if (numLines > 0)
                {
                    Console.WriteLine($" {numLines} sorted text line(s) ");
                    Console.WriteLine("------------------------");
                }
                else
                {
                    Console.WriteLine(" No input was sorted");
                }

                // End the input stream to the sort command.
                // When the stream closes, the sort command
                // writes the sorted text lines to the
                // console.
                myStreamWriter.Close();

                // Wait for the sort process to write the sorted text lines.
                myProcess.WaitForExit();
            }
        }
    }
}

Comentários

Um Process pode ler o texto de entrada de seu fluxo de entrada padrão, normalmente o teclado. Ao redirecionar o StandardInput fluxo, você pode especificar programaticamente a entrada. Por exemplo, em vez de usar a entrada de teclado, você pode fornecer texto do conteúdo de um arquivo designado ou saída de outro aplicativo.

Nota

Para usar StandardInput, você deve definir ProcessStartInfo.UseShellExecute como falsee deve definir ProcessStartInfo.RedirectStandardInput como true. Caso contrário, gravar no StandardInput fluxo gera uma exceção.

Aplica-se a

Confira também