windows会收到什么消息?还是强制关闭?

解决方案 »

  1.   

    WM_QUERYENDSESSION
    The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls the ExitWindows function. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero. After processing this message, the system sends the WM_ENDSESSION message with the wParam parameter set to the results of the WM_QUERYENDSESSION message. A window receives this message through its WindowProc function. LRESULT CALLBACK WindowProc(
      HWND hwnd,          // handle to window
      WM_QUERYENDSESSION, // the message to send
      WPARAM wParam,      // not used
      LPARAM lParam       // logoff option
    );
    Parameters
    wParam 
    This parameter is reserved for future use. 
    lParam 
    Specifies whether the user is logging off or shutting down the system. If this parameter includes the ENDSESSION_LOGOFF value, the user if logging off. (Note that this parameter is a bit mask. To test for this value, use a bit-wise operation; do not test for equality.) 
    Windows 2000/XP: If this parameter is zero, the system is shutting down. 
      

  2.   

    楼上的兄弟,这个消息只有在windows中选择关机时才响应,当关闭机箱上的关机按钮,没有反映