2010-08-16 3 views
7

내 Windows 응용 프로그램에서 콘솔 응용 프로그램을 실행해야합니다. 내가 실행하고자하는 콘솔 응용 프로그램 내 응용 프로그램에 포함 리소스이며, 나는이처럼 호출 오전 : 그것은 잘 추출ProcessWindowStyle.Hidden을 실행 한 후에도 콘솔 창이 계속 팝업됩니다.

// Run the updater and grab its output 
Process Updater = new Process(); 
Updater.StartInfo.FileName = "C:\\tmp\\tmp.exe"; 
Updater.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
Updater.StartInfo.UseShellExecute = false; 
Updater.StartInfo.RedirectStandardOutput = true; 
Updater.Start(); 
string UpdaterOutput = Updater.StandardOutput.ReadToEnd(); 
Updater.WaitForExit(); 

, 그리고 그것을 잘 실행하고, 그것은 또한 출력이 완전히 잘 잡고 ... 콘솔 윈도우가 실행되면서 빠르게 열리는 것을 볼 수 있습니다. 콘솔 제목이 C:\tmp\tmp.exe이기 때문에이 응용 프로그램의 콘솔 팝업이 표시됩니다. 콘솔 응용 프로그램을 숨기는 데 완전히 실패 할 수있는 방법이 있습니까? 나는 ProcessWindowStyle.Hidden을 사용한다고 생각했지만 분명히 그렇게하지는 않을 것입니다.

감사합니다.

+0

true에, 스레드를 닫으십시오. –

+0

@ 한자 Passant - 하루 동안 담당자 모자를 쓴다면 내 대답을 받아 들일 수 있습니까? – fletcher

+1

@fletch : 물론 답안 점에 모자가 없습니다. –

답변

16

설정이 질문은 대답한다 ProcessStartInfo.CreateNoWindow 재산

+0

아, 전에 사용 했었지만'ProcessWindowStyle.Hidden'을 사용했을 때 효과가 있다고 생각하지 않았습니다. 그리고 그것을 거짓으로가 아닌 사실로 설정해야했습니다. 대단히 감사합니다! :) – Kratz

+1

그래, 늦었 어. 나는 두배의 음화를 엉망으로 만들었지 ... – fletcher

+0

그게 아니라 그 대신에? – barlop

관련 문제