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 Stream ab, in den die Eingaben der Anwendung geschrieben werden.
Namespace: System.Diagnostics
Assembly: System (in system.dll)
Syntax
'Declaration
Public ReadOnly Property StandardInput As StreamWriter
'Usage
Dim instance As Process
Dim value As StreamWriter
value = instance.StandardInput
public StreamWriter StandardInput { get; }
public:
property StreamWriter^ StandardInput {
StreamWriter^ get ();
}
/** @property */
public StreamWriter get_StandardInput ()
public function get StandardInput () : StreamWriter
Eigenschaftenwert
Ein StreamWriter zum Schreiben des Standardeingabestreams der Anwendung.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Der StandardInput-Stream wurde nicht definiert, da ProcessStartInfo.RedirectStandardInput auf false festgelegt ist. |
Hinweise
Ein Process kann Eingabetext aus dem Standardeingabestream lesen. Dies ist i. d. R. die Tastatur. Durch Umleiten des StandardInput-Streams können Sie die Eingabe programmgesteuert angeben. Sie können z. B: anstelle der Tastatureingabe Text aus dem Inhalt einer angegebenen Datei oder aus der Ausgabe einer anderen Anwendung bereitstellen.
Hinweis
Zum Verwenden von StandardInput müssen Sie ProcessStartInfo.UseShellExecute auf false und ProcessStartInfo.RedirectStandardInput auf true festlegen. 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. 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();
}
}
.NET Framework-Sicherheit
- SecurityPermission zum Aufrufen von Process-Membern. Anforderungswert: LinkDemand; Benannte Berechtigungssätze: FullTrust.
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
Process-Klasse
Process-Member
System.Diagnostics-Namespace
StandardOutput
Process.StandardError-Eigenschaft
ProcessStartInfo.RedirectStandardInput