How to control power button press shutdown?
Calling in some favors at work, I was able to take this question directly to Microsoft support. On my third support engineer, I was essentially told this is not possible at an application level. It was his belief that calling the undocumented CancelShutdown()
"confuses" the power manager or acpi driver which leads to the WM_QUERYENDSESSION
message delay. Since the CancelShutdown()
is undocumented, MS is not willing investigate further.
So, how do you hook power button presses? You need to write a device driver, specifically an ACPI Filter Driver. We are investigating this now.