2013-10-17 1 views
3

WinAPI를 사용하여 C++에서 콘솔 다중 프로세스 응용 프로그램을 작성하고 있습니다. 따라서 Dispatcher (예 : 'Parent')와 클라이언트 (예 : 'Child') 프로세스가 있습니다. 두 프로세스는 동기화됩니다. 즉, 세마포, 이벤트, 뮤텍스 및 파이프를 사용합니다 (모두 표준 WinAPI 핸들입니다). 사용자가 "exit" 명령을 입력하면 응용 프로그램이 중지됩니다. 사용자가 그렇게하면 디스패처 프로세스에서 자식에게 알린 다음 하위가 리소스를 해제하고 다른 종료 전 절차를 올바르게 종료합니다. 그러나 나에게 귀찮은 일이있다. 사용자가 창 닫기 버튼을 누르면 어떻게 될까? 그렇다면 가까운 이벤트에 귀를 기울여야하며 내 리소스 공개 절차를 수행해야합니다. 창 닫기 이벤트를 처리하는 가장 쉬운 방법은 무엇입니까?콘솔 응용 프로그램의 WinAPI에서 창 닫기 이벤트를 처리하는 가장 쉬운 방법은 무엇입니까?

답변

1

정말 클라이언트 프로세스가 충돌하거나 작업 관리자를 통해 종료되는 것과 다르지 않습니다. 당신도 그것에 탄력적이어야합니다. 상위 프로세스에서 얻을 수있는 궁극적 인 신호는 클라이언트의 프로세스 핸들이 전달된다는 것입니다.

다른 핸들과 함께 WaitForMultipleObjects를 사용하여이를 감지하십시오.

관련 문제