How to abort shutdown in Windows (XP|Vista) programatically?

前端 未结 2 1616
别那么骄傲
别那么骄傲 2020-12-06 07:02

I want to be able to 1. detect (and, if needed 2. abort) OS shutdown from my application, preferably by using the Windows API.

I know that it is possible to abort sh

相关标签:
2条回答
  • 2020-12-06 07:27

    In regards to 'simply' returning 0 to block a shutdown, it isn't as simple as that if you want to do it in the proper way. Especially on Vista. For example please also read http://msdn.microsoft.com/en-us/library/ms700677(VS.85).aspx

    0 讨论(0)
  • 2020-12-06 07:32

    From MSDN:

    The WM_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls one of the system shutdown functions. If any application returns zero, the session is not ended. The system stops sending WM_QUERYENDSESSION messages as soon as one application returns zero.

    So, my application's WindowProc now processes the WM_QUERYENDSESSION message and returns 0.

    Didn't expect it to be this simple; as a bonus, it also works on Windows 2000.

    0 讨论(0)
提交回复
热议问题