Windows에서 시스템을 종료하기 위해서 사용되는 매서드이다. 네이버 자료실이나 이런데보면 타이머를 이용하여 시스템 자동 종료하는 프로그램들을 많이 보았을 건데, 그런 애플리케이션에서 주로 사용한다고 보면 되겠다. 물론, 작업표시줄에 넣어서 항상 실행하려면 몇가지 기능을 더 배워야 하지만.. 그조차도 어렵지않게 만들수 있다. 

     

    해당 API원형은 다음과 같다.

     

    BOOL ExitWindowsEx(
        [in] UINT  uFlags,
        [in] DWORD dwReason
    );

     

    파라메터 설명 

    1. uFlags

      종료방식을 나타내는 플래그로, 최소 하나의 값을 포함해야 한다. 

    설정 값 의미
    EWX_HYBRID_SHUTDOWN
    0x00400000
    EWX_SHUTDOWN 플래그와 결합하여 다음에 더 빠른시작을 준비(Win8 이상)
    EWX_LOGOFF
    0
    로그온 세션에서 실행중인 모든 프로세스를 종료
    EWX_POWEROFF
    0x00000008
    시스템을 종료하고 전원을 끔(전원 끄기 기능을 지원해야함)
    EWX_REBOOT
    0x00000002
    시스템을 종료한다음 다시 시작(리부팅)
    EWX_RESTARTAPPS
    0x00000040
    시스템을 종료한다음 다시시작하도록 등록된 모든 프로그램을 다시시작.
    EWX_SHUTDOWN
    0x00000001
    시스템을 종료하지만 전원을 끄지 않음

     

    선택적으로 사용할 수 있는 옵션

    설정 값 의미
    EWX_FORCE
    0x00000004
    시스템 강제종료기능으로 데이터손실 가능성이 있어 비상시만 사용
    EWX_FORCEIFHUNG
    0x00000010
    제한시간내에 응답하지 않은 프로세스를 강제종료

     

     

    2. dwReason

      종료의 이유를 지정하는 파라메터로 이 변수가 0이면 정의되지 않은(계획되지 않은)종료로 처리된다. 종료 이유에 대한 코드는 아래의 링크에서 확인가능하다. 

     

      https://docs.microsoft.com/en-us/windows/desktop/Shutdown/system-shutdown-reason-codes

     

     

    더 자세한 내용이 궁금하다면, 아래의 링크를 참조한다. 

      https://docs.microsoft.com/ko-kr/windows/win32/api/winuser/nf-winuser-exitwindowsex?redirectedfrom=MSDN 

     

     

    반응형
    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기