是否有一种已知的,可靠的方法可以在用户点击退出按钮后延迟用户注销?我想知道如何延迟,或者可能取消注销,然后在计数器到期后通过应用程序注销。
答案 0 :(得分:2)
当即将发布注销时,Windows消息WM_QUERYENDSESSION
将发送给所有应用程序。应用程序可以回答此消息并给出否定答案,要求取消注销。
来自MDSN doc:
应用程序应尊重用户的意图并返回TRUE。通过 默认情况下,此消息的DefWindowProc函数返回TRUE。
如果关闭会破坏正在使用的系统或媒体 烧毁后,应用程序可以返回FALSE。但是,这是一种很好的做法 尊重用户的行为。
在.NET中,SystemEvents.SessionEnding
event公开了此功能。如果您将Cancel
的{{1}}属性设置为SessionEndingEventArgs
请求注销将被取消。
之前已在Log off user from Win XP programmatically in C#中询问了注销部分。