Process.StandardInput 속성

정의

애플리케이션의 입력을 작성하는 데 사용되는 스트림을 가져옵니다.

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

속성 값

StreamWriter 애플리케이션의 표준 입력 스트림을 작성하는 데 사용할 수 있는 A입니다.

특성

예외

StandardInput 로 설정false되었으므로 RedirectStandardInput 스트림이 정의되지 않았습니다.

예제

다음 예제에서는 프로세스의 스트림을 리디렉션하는 StandardInput 방법을 보여 줍니다. 이 예제에서는 리디렉션된 입력을 사용하여 sort 명령을 시작합니다. 그런 다음 사용자에게 텍스트를 입력하라는 메시지를 표시하고 리디렉션된 StandardInput 스트림을 sort 통해 프로세스에 전달합니다. 결과는 sort 콘솔에서 사용자에게 표시됩니다.

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

설명

A는 Process 표준 입력 스트림(일반적으로 키보드)에서 입력 텍스트를 읽을 수 있습니다. 스트림을 StandardInput 리디렉션하여 프로그래밍 방식으로 입력을 지정할 수 있습니다. 예를 들어 키보드 입력을 사용하는 대신 지정된 파일의 내용이나 다른 애플리케이션의 출력에서 텍스트를 제공할 수 있습니다.

메모

사용StandardInput하려면 다음으로 false설정 ProcessStartInfo.UseShellExecute 해야 하며 , 로 설정 ProcessStartInfo.RedirectStandardInputtrue해야 합니다. 그렇지 않으면 스트림에 쓰기가 StandardInput 예외를 throw합니다.

적용 대상

추가 정보