SessionEndingEvent未被调用

时间:2012-06-18 10:16:47

标签: c# .net events logout shutdown

这是我的C#代码:

    void main()
    {
        SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);
    }

    void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
    {
        Console.WriteLine(e.Reason);
    }

不知何故,没有输出。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

http://msdn.microsoft.com/en-us/library/microsoft.win32.systemevents.aspx(示例2)几乎解释了Windows服务中SystemEvents的所有内容。

答案 1 :(得分:0)

Accorind到remarks section in MSDN

  

如果您在Windows窗体中使用SessionEnding来检测系统注销或重新启动,则无法确定是否在此事件之前触发Closing事件。

因此,您不应该依赖此事件或以某种方式处理Closing事件以满足您的需求。

<强>更新即可。更重要的是:

  

控制台应用程序不会引发SessionEnding事件。