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
[39600] Re:Re:Re:시스템 종료시, 프로그램 종료 문제... 재질문입니다..
[] 1138 읽음    2005-03-23 00:07
플그램시러시러 님이 쓰신 글 :
: 감사합니다...
:
: 프로그램의 종료는 잘 됩니다. 다만 하나의 문제가 발생해서 감사의 인사와 동시에, 질문을 하나 추구합니다.
:
: 컴퓨터 리부팅 또는 종료를 눌렀을때, 프로그램은 종료가 잘 되나 시스템은 종료되지 않습니다. (아까보다는 확실히 나아졌습니다.. ^^)P
:
: 일단 상황을 말씀드리면...
: Form의 CloseQueryCall 이 먼저 실행되고, 후에 ShutDown Event가 발생해서 들어옵니다.
:
: 그러다보니, 시스템이 종료되다가 마치 "취소"버튼을 누른 것 마냥 더이상 진행이 되지 않습니다.
: 혹시나해서 Msg.Result = 0; 부분을 없애보기도 하고, 다시 Form->Close를 불러보기도 했습니다만,
: 중지되었던 종료루틴이 다시 수행되어 시스템이 부팅되거나 종료되지를 않습니다.
:
: 아마 해보셨던 부분이니까, 답을 알고 계실것 같아 드리는 질문입니다. 여기서, 무엇인지도 모르고, ShutDown 또는 restart를 직접 수행하는 것은 약간 낭비가 아닐까 해서요...
:
: 미리 감사드립니다.
:
: 플그램시러시러

시스템 종료 요청이 있는 경우 Windows는 실행 중인 모든 애플리케이션에 종료 가능한지 WM_QUERYENDSESSION 메시지를 보내 질의합니다.
모든 애플리케이션이 종료 가능하다고 응답하는 경우 WM_ENDSESSION 메시지를 보내 각 애플리케이션 스스로 종료할 기회를 준 다음 시스템이 종료됩니다.
따라서, 자동으로 종료시키려면 WM_QUERYENDSESSION 메시지 핸들러 내에서 종료가능하다고 응답한 다음 WM_ENDSESSION 메시지 핸들러 내에서 폼을 Close해야 합니다.
다른 곳에서 폼을 Close해야 하는 상황도 있다면 이 메시지와의 관련성을 잘 따져서 하면 되겠습니다.

자세한 것은 Win API 도움말과 함께 아래를 참고하세요.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=15752

+ -

관련 글 리스트
39593 시스템 종료시, 프로그램 종료 문제... 재질문입니다.. 플그램시러시러 1011 2005/03/22
39594     Re:시스템 종료시, 프로그램 종료 문제... 재질문입니다.. 1208 2005/03/22
39596         Re:Re:시스템 종료시, 프로그램 종료 문제... 재질문입니다.. 플그램시러시러 976 2005/03/22
39600             Re:Re:Re:시스템 종료시, 프로그램 종료 문제... 재질문입니다.. 1138 2005/03/23
39599             Re:Re:Re:시스템 종료시, 프로그램 종료 문제... 재질문입니다.. 이성제 1010 2005/03/22
39602                 Re:Re:Re:Re:시스템 종료시, 프로그램 종료 문제... 재질문입니다.. 플그램시러시러 931 2005/03/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.