2011-04-07 8 views
0

다음과 같은 문제가 있습니다. exe를 실행하지만 내 콘솔 응용 프로그램에서 exe가 포함 된 모든 것을 볼 수 없습니다. 콘솔 응용 프로그램에서 적어도 실행중인 실행 파일에 쓰는 텍스트를 볼 것으로 예상했습니다. 내가 어디가 잘못 됐니?C# 표준 출력 readtoEnd()

1) 콘솔 응용 프로그램에서 내가 실행중인 exe에 쓰는 텍스트를 어떻게 인쇄 할 수 있습니까? 그게 가능하니? 나는 또한 tje 표준 입력 스트림을 사용하고 싶다. 내 말은 exe에서 읽고 exe에서 내 응용 프로그램을 사용하여 작성하고 싶다는 뜻입니다. 코드는 다음과 같습니다.

도움이 필요합니다. 고마워!

static void Main(string[] args) 
    { 
     string s; 



     ProcessStartInfo p = new ProcessStartInfo(); 
     p.UseShellExecute = false; 
     p.RedirectStandardOutput = true; 
     p.RedirectStandardInput = true; 
     p.RedirectStandardError = true; 
     p.FileName = @"notepad.exe"; 

     using (Process pp = Process.Start (p)) 
     { 
      string output = pp.StandardOutput.ReadToEnd(); 
      //pp.WaitForExit(); 
      StreamReader myStreamReader = pp.StandardError; 

      // finally output the string 
      Console.WriteLine("output is: "+output+"....."+myStreamReader.ReadLine()); 
      // pp.Close(); 
      Thread.Sleep (2000); 
     } 
+0

메모장에 쓴 텍스트를 콘솔에 덤프하려고합니까? –

+0

정확히 무엇을 하려는지 구체적으로 설명해 주시겠습니까? 왜 별도의 프로세스가 필요한가요? – GregC

+0

Notepad.exe가 표준 출력이나 표준 오류에 기록하는지 모르겠습니다 ... 명령 줄 프로그램이 아니라 GUI 프로그램입니다. –

답변

3

Standard* 스트림은 콘솔 응용 프로그램에만 적용 할 수 있습니다. 메모장을 실행 중이며 콘솔 응용 프로그램이 아닙니다.

+0

답을위한 thx : – elisa

+0

나는 당신의 대답을 받아 들였다. 내가 응용 프로그램을 사용하여 실행중인 EXE에서 메뉴에 액세스 할 수있는 방법을 묻고 싶습니다. – elisa

+0

@elisa : 지난 번에 이미 말씀 드렸듯이 새로운 질문은 오래된 질문에 게시하지 말고 새로운 질문으로 게시하십시오. 당신은 더 넓은 청중과 더 좋은 대답을 얻을 것입니다. 게다가 : 당신의 질문은 지금까지 나를 혼란스럽게합니다 : 정확히 무엇을 큰 그림에서 성취하려고합니까? –