2009-08-05 2 views
1

.NET 실행 파일을 호출해야하는 대화 상자 기반 MFC 응용 프로그램이 있습니다..NET 실행 파일의 출력을 MFC 응용 프로그램으로 전달하는 방법은 무엇입니까?

내 질문은 다음과 같습니다

  1. 어떻게 MFC 응용 프로그램은 .NET 실행 파일이 닫혀 있는지 알 수 있습니까? 닷넷 실행 과정을 몇 가지 정보를 가정하고 MFC 응용 프로그램에 출력을 전달하려는 경우
  2. 는 어떻게이 달성 될 수있다.

도와주세요! 를 대기 핸들을 사용하거나 폴링 중 - 닷넷 프로세스가 정상적인 방법으로 종료하는

+0

의 .NET 응용 프로그램의 "출력"이란 무엇입니까? 명령 행 응용 프로그램이 표준 출력에 쓰고 있습니까? –

+0

아니요 winform 응용 프로그램입니다. 특정 검색 critaria에 대해 데이터베이스를 쿼리하고 결과를 출력한다고 가정 해 봅시다. –

+0

무엇을 출력합니까? – JonoW

답변

2

MFC 응용 프로그램은 기다릴 수 있습니다. 출력을 수집으로

- 가장 간단한 메커니즘은 파일에 기록 할 실행 파일 .NET이 될 가능성이 높습니다하고 MFC 응용 프로그램은 나중에 그것을 읽을 수 있습니다. 매우 쉽지만 구현하기가 쉽지 않습니다!

1

1) MFC 응용 프로그램에서 CreateProcess()를 사용하여 .NET EXE를 실행 한 다음 GetExitCodeProcess() 함수를 사용하여 완료되었는지 확인할 수 있습니다. 완료되지 않은 경우,이 API는 STILL_ACTIVE (259)를 리턴합니다.

2) 명령 행의 .NET EXE 출력, 당신은 표준 핸들 STDOUT 및 STDERR을 사용하여 출력을 읽을 수있는 경우. 자세한 내용 here.

에서 ShellExecute ("에 % SystemRoot % \ System32 \ Cmd.exe를 /C \"닷넷 EXE의 \ 경로 "> :

또는이 같은 명령 줄을 통해 .NET의 EXE를 호출 % TEMP의 %의 \의 CaptureOutput.txt ", ...)

후 'CaptureOutput.txt'파일에서 대기하고 '내용을 참조하십시오.

+0

MFC에 익숙하지 않아서 CreateProcess 구문을 알려주시겠습니까 ?? 및 GetExitProcess ?? –

+0

다음은 CreateProcess 문서입니다. http://msdn.microsoft.com/en-us/library/ms682425(VS.85).aspx 예를 들어 Google/Bing을 사용할 수 있습니다. – JBRWilkinson

관련 문제