:PostMessage를 누구의 출력 리디렉션 및 읽기 콘솔 창에 작동하지 않는 비동기
p.StartInfo.FileName = "consoleapp.exe";
p.StartInfo.RedirectStandardOutput = false;
p.StartInfo.RedirectStandardInput = false;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = false;
p.StartInfo.WindowStyle = ProcessWindowStyle.Minimized;
p.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(ConsoleOutputHandler);
p.Start();
p.BeginOutputReadLine();
그리고 내가 사용하는 F4를 보낼 수 있습니다
p.StartInfo.RedirectStandardOutput = true;
: 내가 함께 StandardOutput를 리디렉션 할 때까지
PostMessage(p.MainWindowHandle, (uint)WM_KEYUP, (IntPtr) Keys.F4, (IntPtr) 0x3E0001);
모든 것이 잘 작동
그런 식으로 PostMessage는 여전히 이벤트 (Spy ++로 검사 됨)를 보내지 만 콘솔 앱은 이벤트를 인식하지 못합니다.
"RedirectStandardInput"변경 작업이 진행되지 않았습니다.
의견이 있으십니까?
이 작업 솔루션이 유래 게시물을 찾고 시도 희망이 당신의 문제를 해결을 http://stackoverflow.com/questions/1145969/processinfo -and-redirectstandardoutput – MethodMan
사실 출력을 리디렉션 할 때 작동을 멈추는 PostMessage로 stdout을 읽는 데 문제가 없습니다. 댓글 주셔서 감사합니다. –
리디렉션하고 StreamWriter를 사용하여 stdin에 쓰려고했지만 너무 효과가 없었습니다. –