我使用以下过程正确拦截了 Delphi 2009 中的 Windows 关闭消息WMQueryEndSession :
procedure TMyForm.WMQueryEndSession(var msg: TMessage);
本文建议我可以通过检查消息的LParam来区分常规关闭和注销。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa376890%28v=vs.85%29.aspx
更新:
我正在开发一个在Windows XP Embedded上运行的应用程序,但就我而言,LParam每次都是 0。
如果我在 Windows 7 或 Windows XP Home 下测试我的应用程序,那么我会得到预期的 80000000 美元。
任何指针将不胜感激!