会话结束事件未被调用
本文关键字:调用 事件 结束 会话 | 更新日期: 2023-09-27 18:37:28
这是我的C#代码:
void main()
{
SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);
}
void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
Console.WriteLine(e.Reason);
}
不知何故,没有输出。知道为什么吗?
http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx(示例2)几乎解释了Windows服务中有关SystemEvents的所有内容。
在 MSDN 中的备注部分:
如果在 Windows 窗体中使用会话结束来检测系统注销或重新启动,则没有确定性的方法来确定 Closing 事件是否在此事件之前触发。
因此,您不应该依赖此事件或以某种方式处理Closing
事件来实现您的需求。
更新。更重要的事情:
控制台应用程序不会引发会话结束事件。