我们如何检测系统上的特定用户是否是RemoteDisconnected?

时间:2017-11-22 12:32:39

标签: c# winapi windows-services window remote-desktop

我的计划Windows服务在系统中运行。在其中我想检测同一系统中的特定用户是否远程断开连接。

为了实现这一点,目前我正在重写 System.ServiceProcess.ServiceBase 类的OnSessionChange(..)方法,以便在文件中写入状态 我需要检查状态,我从同一个文件中读取它。

但我想知道更好的检测方法而不将其存储在文件中?

class mySessionBase : ServiceBase
{
    protected override void OnSessionChange(SessionChangeDescription changeDescription)  
    {
        //Save the status of machine in file
         hangeDescription.Reason.ToString()
         changeDescription.SessionId
    }
}

是否有可用于检测相同的窗口远程API?

先谢谢

Mahen

1 个答案:

答案 0 :(得分:0)

请参阅下面的 WTSEnumerateSessions API,以帮助我们获取会话和连接状态。

https://www.codeproject.com/Articles/111430/Grabbing-Information-of-a-Terminal-Services-Sessio