处理交换机用户的系统事件

时间:2014-07-17 08:50:00

标签: c# events system handle

当用户切换到另一个用户时,我需要关闭串口并终止应用程序。用户切换到其他用户时是否可以处理?

这是我的代码,我可以在用户注销时处理但在切换用户时无法处理。

static void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
{
    switch (e.Reason)
    {
        case SessionEndReasons.Logoff:
            serialPort1.Close();
            Process.GetCurrentProcess().Kill();
            break;

        //Here i want handle process for switch user
        //case SessiondEndReasons.SwitchUser??
        //      serialPort1.Close();
        //      Process.GetCurrentProcess().Kill();
        //      break;
    }
}

1 个答案:

答案 0 :(得分:6)

您必须触发代码以响应SystemEvents.SessionSwitch事件:

SystemEvents.SessionSwitch += (sender, args) =>
            {
                serialPort1.Close();
                Process.GetCurrentProcess().Kill();
            };

以下是您可以处理的可能原因:

更多信息: