Freigeben über


Process.StandardInput-Eigenschaft

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

InvalidOperationException

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

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