내가 다음과 같습니다 간단한 콘솔 응용 프로그램을 열고 싶습니다 콘솔 응용 프로그램을 Process.Start를 이 : 내가 관리입력이 다음 양식에 출력을 얻을에
private void button1_Click(object sender, EventArgs e)
{
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.FileName = myexe;
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;
processInfo.RedirectStandardOutput = true;
processInfo.RedirectStandardInput = true;
processInfo.StandardOutputEncoding = Encoding.GetEncoding(850);
Process process = new Process();
process.StartInfo = processInfo;
process.Start();
}
는 StreamReader
를 사용하여 출력을 읽고 텍스트 상자에 내용 :
Beginning
End
,
그러나 문제는 프로그램이 무시되는 것처럼 Console.ReadLine()
에서 대기하지 않는다는 것입니다. 그리고 나는 키보드에서 사용자가 입력하는 방법을 알지 못한다. (콘솔에 직접 연결하는 것이 더 좋다.)
할 방법이 있습니까?
편집
내가 충분히 명확하지 것처럼, 미안 보인다.
간단한 양식을 만들려고합니다. 컨트롤 없음, 바코드를 스캔 할 때 "반응"할 수 있습니다.
는 기본적으로, 콘솔 응용 프로그램이 너무 배경을 실행하려면 내 바코드를 스캔 할 때, 난 내 output
값을 얻을 수 있습니다 :
- 양식의 "바코드를 스캔하십시오"
- 콘솔 응용 프로그램이 시작됩니다
- 바코드는
output
값으로 - 바코드 가까운
- 콘솔 응용 프로그램을 스캔
그래서 StandardInput
는 내 문제의 해결책으로 보이지 않습니다.
그래서 내가 이것을 달성 할 수있는 방법이 있는지 묻는 것입니다.
그럼 당신은'RedirectStandardInput을 설정
당신은
output
값을 얻을 것이다 '사실로, 이제 콘솔 앱은 당신이 그것을 얻기보다는 입력으로 제공 할 것으로 기대할 것입니다 키보드를 통해 소리를냅니다. –