Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft einen Wert ab, der angibt, ob die Eingabe für eine Anwendung aus dem Process.StandardInput-Stream gelesen wird, oder legt diesen fest.
Namespace: System.Diagnostics
Assembly: System (in system.dll)
Syntax
'Declaration
Public Property RedirectStandardInput As Boolean
'Usage
Dim instance As ProcessStartInfo
Dim value As Boolean
value = instance.RedirectStandardInput
instance.RedirectStandardInput = value
public bool RedirectStandardInput { get; set; }
public:
property bool RedirectStandardInput {
bool get ();
void set (bool value);
}
/** @property */
public boolean get_RedirectStandardInput ()
/** @property */
public void set_RedirectStandardInput (boolean value)
public function get RedirectStandardInput () : boolean
public function set RedirectStandardInput (value : boolean)
Eigenschaftenwert
true, um die Eingabe aus Process.StandardInput zu lesen, andernfalls false .
Hinweise
Ein Process kann Eingabetext aus dem Standardeingabestream lesen. Dies ist i. d. R. die Tastatur. Sie können die Eingabe eines Prozesses programmgesteuert angeben, indem Sie den StandardInput-Stream umleiten. Sie können z. B: anstelle der Tastatureingabe Text aus dem Inhalt einer angegebenen Datei oder aus der Ausgabe einer anderen Anwendung bereitstellen.
Hinweis
Sie müssen UseShellExecute auf false festlegen, wenn Sie RedirectStandardInput auf true festlegen möchten. Andernfalls löst das Schreiben in den StandardInput-Stream eine Ausnahme aus.
Beispiel
Im folgenden Beispiel wird das Umleiten des StandardInput-Streams eines Prozesses veranschaulicht. Der sort-Befehl ist eine Konsolenanwendung, die Texteingaben liest und sortiert.
Im Beispiel wird der sort-Befehl mit umgeleiteter Eingabe gestartet. Anschließend wird der Benutzer zur Eingabe von Text aufgefordert, der über den umgeleiteten StandardInput-Stream an den sort-Prozess übergeben wird. Die Ergebnisse von sort werden für den Benutzer auf der Konsole angezeigt.
Imports System
Imports System.IO
Imports System.Diagnostics
Imports System.ComponentModel
Imports Microsoft.VisualBasic
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.
Dim 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(" {0} sorted text line(s) ", numLines)
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()
myProcess.Close()
End Sub 'Main
End Class 'StandardInputTest
End Namespace 'Process_StandardInput_Sample
using System;
using System.IO;
using System.Diagnostics;
using System.ComponentModel;
namespace Process_StandardInput_Sample
{
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.
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(" {0} sorted text line(s) ", numLines);
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();
myProcess.Close();
}
}
}
#using <System.dll>
using namespace System;
using namespace System::IO;
using namespace System::Diagnostics;
using namespace System::ComponentModel;
int 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.
Process^ myProcess = gcnew Process;
if ( myProcess )
{
myProcess->StartInfo->FileName = "Sort.exe";
myProcess->StartInfo->UseShellExecute = false;
myProcess->StartInfo->RedirectStandardInput = true;
myProcess->Start();
StreamWriter^ myStreamWriter = myProcess->StandardInput;
if ( myStreamWriter )
{
// 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 && inputText->Length > 0 )
{
numLines++;
myStreamWriter->WriteLine( inputText );
}
}
while ( inputText && inputText->Length != 0 );
// Write a report header to the console.
if ( numLines > 0 )
{
Console::WriteLine( " {0} sorted text line(s) ", numLines.ToString() );
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();
myProcess->Close();
}
}
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
ProcessStartInfo-Klasse
ProcessStartInfo-Member
System.Diagnostics-Namespace
UseShellExecute
Process.StandardInput-Eigenschaft