2013-12-14 1 views
0

탐색기에서 콘솔 응용 프로그램을 두 번 클릭하여 실행하면 콘솔이 표시됩니다. 그러나 이미 보이지 않는 응용 프로그램을 통해 콘솔 응용 프로그램을 실행하면 콘솔이 보이지 않습니다 (아마 표준 출력이나 다른 것을 읽으려고하기 때문일 수 있습니다).이 시나리오에서 콘솔 응용 프로그램의 콘솔을 어떻게 표시합니까?

백그라운드 앱으로 콘솔 애플리케이션을 시작한 경우에도 내 콘솔 창을 사용자에게 표시하려면 어떻게해야합니까?

행운없이 이미 ShowWindowSetForeground Windows API를 사용해 보았습니다. 나는 또한 다음을 시도했다.

//paths for starting the server. 
var processInformation = new ProcessStartInfo(myOwnPath); 
processInformation.WorkingDirectory = myOwnWorkingDirectory; 
processInformation.UseShellExecute = false; 
processInformation.WindowStyle = ProcessWindowStyle.Normal; 
processInformation.CreateNoWindow = false; 

processInformation.RedirectStandardInput = false; 
processInformation.RedirectStandardError = false; 
processInformation.RedirectStandardOutput = false; 

Process.Start(processInformation); 

아이디어가 있으십니까?

참고 : 콘솔 창을 표시하려면 응용 프로그램을 시작하고 이전 인스턴스를 종료해야하는 경우에는 문제가 없습니다.

+0

사용자의 얼굴에 창을 밀어 넣을 수 없습니다. –

+0

이 시나리오의 사용자는 나 자신입니다. 문제는 빌드 서버가 최근에 실행 된 프로그램을 실행한다는 것입니다. 여기에서 프로그램 자체가 새로운 위치에 배포되고 거기에서 실행됩니다. 콘솔 창에는 중요한 데이터가 포함되어 있기 때문에 표시해야합니다. –

+0

빌드 서버를 본 사람은 누구입니까? 프로그램의 출력을 리디렉션하고 누군가에게 이메일로 보냅니다. 그런 것. –

답변

0

UseShellExecute을 true로 설정하십시오. 이 값을 false로 설정하면 입력, 출력 및 오류 스트림을 리디렉션 할 수 있습니다.

+0

작동하지 않았습니다. 원한다면 테스트 해 볼 수도 있습니다. –

관련 문제