このブラウザーはサポートされなくなりました。

Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

Microsoft Edge をダウンロードする Internet Explorer と Microsoft Edge の詳細情報
public:
 property System::IO::StreamWriter ^ StandardInput { System::IO::StreamWriter ^ get(); };
public System.IO.StreamWriter StandardInput { get; }
[System.ComponentModel.Browsable(false)]
public System.IO.StreamWriter StandardInput { get; }
member this.StandardInput : System.IO.StreamWriter
[<System.ComponentModel.Browsable(false)>]
member this.StandardInput : System.IO.StreamWriter
Public ReadOnly Property StandardInput As StreamWriter

プロパティ値

次の例は、プロセスのストリームをリダイレクトする StandardInput 方法を示しています。 この例では、リダイレクトされた入力を sort 使用して コマンドを開始します。 その後、ユーザーにテキストの入力を求め、リダイレクトされた StandardInput ストリームを使用してプロセスに渡 sort します。 結果が sort コンソールにユーザーに表示されます。

#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; 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( "------------------------" ); 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; 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; 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("------------------------"); 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(); 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 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("------------------------") 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

では Process 、標準の入力ストリーム (通常はキーボード) から入力テキストを読み取ることができます。 ストリームを StandardInput リダイレクトすることで、プログラムで入力を指定できます。 たとえば、キーボード入力を使用する代わりに、指定されたファイルの内容または別のアプリケーションからの出力からテキストを指定できます。

を使用 StandardInput するには、 を に設定 ProcessStartInfo.UseShellExecute し、 を false に設定 ProcessStartInfo.RedirectStandardInput する true 必要があります。 それ以外の場合、ストリームに StandardInput 書き込むと例外がスローされます。