Process.StandardInput Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém um fluxo usado para escrever a entrada da aplicação.
public:
property System::IO::StreamWriter ^ StandardInput { System::IO::StreamWriter ^ get(); };
[System.ComponentModel.Browsable(false)]
public System.IO.StreamWriter StandardInput { get; }
[<System.ComponentModel.Browsable(false)>]
member this.StandardInput : System.IO.StreamWriter
Public ReadOnly Property StandardInput As StreamWriter
Valor de Propriedade
A StreamWriter que pode ser usado para escrever o fluxo de entrada padrão da aplicação.
- Atributos
Exceções
O StandardInput fluxo não foi definido porque RedirectStandardInput está definido como false.
Exemplos
O exemplo seguinte ilustra como redirecionar o StandardInput fluxo de um processo. O exemplo inicia o sort comando com input redirecionado. Depois, solicita ao utilizador texto e transmite-o ao sort processo através do fluxo redirecionado StandardInput . Os sort resultados são apresentados ao utilizador na consola.
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();
}
}
}
}
open System.Diagnostics
printfn "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.
use myProcess = new Process()
myProcess.StartInfo.FileName <- "Sort.exe"
myProcess.StartInfo.UseShellExecute <- false
myProcess.StartInfo.RedirectStandardInput <- true
myProcess.Start() |> ignore
let myStreamWriter = myProcess.StandardInput
// Prompt the user for input text lines to sort.
// Write each line to the StandardInput stream of
// the sort command.
let mutable inputText = ""
let mutable numLines = 0
while inputText.Length > 0 do
printfn "Enter a line of text (or press the Enter key to stop):"
inputText <- stdin.ReadLine()
if inputText.Length > 0 then
numLines <- numLines + 1
myStreamWriter.WriteLine inputText
// Write a report header to the console.
if numLines > 0 then
printfn $" {numLines} sorted text line(s) "
printfn "------------------------"
else
printfn $" 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()
Imports System.IO
Imports System.Diagnostics
Imports System.ComponentModel
Namespace Process_StandardInput_Sample
Class StandardInputTest
Shared Sub 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 myProcess As New Process()
myProcess.StartInfo.FileName = "Sort.exe"
myProcess.StartInfo.UseShellExecute = False
myProcess.StartInfo.RedirectStandardInput = True
myProcess.Start()
Dim myStreamWriter As StreamWriter = myProcess.StandardInput
' Prompt the user for input text lines to sort.
' Write each line to the StandardInput stream of
' the sort command.
Dim inputText As String
Dim numLines As Integer = 0
Do
Console.WriteLine("Enter a line of text (or press the Enter key to stop):")
inputText = Console.ReadLine()
If inputText.Length > 0 Then
numLines += 1
myStreamWriter.WriteLine(inputText)
End If
Loop While inputText.Length <> 0
' Write a report header to the console.
If numLines > 0 Then
Console.WriteLine($" {numLines} sorted text line(s) ")
Console.WriteLine("------------------------")
Else
Console.WriteLine(" No input was sorted")
End If
' 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()
End Using
End Sub
End Class 'StandardInputTest
End Namespace 'Process_StandardInput_Sample
Observações
Um Process pode ler texto de entrada do seu fluxo de entrada padrão, tipicamente do teclado. Ao redirecionar o StandardInput fluxo, pode especificar programaticamente a entrada. Por exemplo, em vez de usar entrada por teclado, pode fornecer texto a partir do conteúdo de um ficheiro designado ou saída de outra aplicação.
Note
Para usar StandardInput, deve definir ProcessStartInfo.UseShellExecute para false, e deve definir ProcessStartInfo.RedirectStandardInput para true. Caso contrário, escrever para o StandardInput stream lança uma exceção.