C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[39950] 시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다.
박종일 [always97] 1300 읽음    2005-04-27 16:50
윈도우를 종료시켰을때.. 일반 프로그램들은 종료되면서 윈도우가 종료되게 됩니다.
이럴경우에는 자신의 프로그램에서도 윈도우의 종료메세지를 받아서 처리하게 된다고 알고 있습니다.
그래서 아래와 같이 종료메세지들을 찾아서 첨부해 줬는데..
일반적인 경우에는 정상적으로 종료가 잘 됩니다.
하지만 폼에 UDP를 쓰기위해서 NMUDP 컴퍼넌트를 하나 사용한 뒤에는 종료가 되지 않고 있습니다.

문제는 프로그램은 종료했습니다. 그런데 윈도우가 종료하지 않습니다.
그래서 다시한번 윈도우를 종료하면 되긴하는데..  원천적으로 이문제를 해결할수 있는 방법이 없는지요.

아니면 추가적인 다른 코드가 필요할까요 ?

void __fastcall WMQueryEndSession(Messages::TMessage &Msg);
void __fastcall WMEndSession(Messages::TMessage &Msg);
    BEGIN_MESSAGE_MAP
      MESSAGE_HANDLER(WM_QUERYENDSESSION,TMessage,WMQueryEndSession);
      MESSAGE_HANDLER(WM_ENDSESSION,TMessage,WMEndSession);
    END_MESSAGE_MAP(TForm);

void __fastcall Tfrm_ShutDown::WMQueryEndSession(TMessage &Msg)
{
  Msg.Result=1; //종료 가능 ,
//종료하지 못하게 하려면 Msg.Result=0;
}

//---------------------------------------------------------------------------
//Windows 운영체제가 종료
void __fastcall Tfrm_ShutDown::WMEndSession(TMessage &Msg)
{
  if(Msg.WParam==true) {
    //Windows 운영체제 종료 시 처리할 작업 수행
  }
  Msg.Result=0;
}

+ -

관련 글 리스트
39950 시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 박종일 1300 2005/04/27
39954     Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 황경록 1337 2005/04/27
39951     Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 수야!╋ 1115 2005/04/27
39953         Re:Re:시스템 종료시 현재 활성화되어있는 프로그램도 같이 종료했으면 합니다. 박종일 1277 2005/04/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.