0

我试图弄清楚哪些客户端使用远程桌面连接到我的机器。我阅读了有关 Cassia 和 Cassia.TerminalServicesManager 的信息,但我无法完全理解它......

我以为 Cassia.TerminalServicesManager().CurrentSession.ClientName 会给我一个客户端的名称,但如果还有更多呢?我查看了参考资料,但我仍然感到困惑。有人可以帮我吗?

谢谢

4

2 回答 2

3

听起来你正在寻找这样的东西:

var manager = new TerminalServicesManager();
using (var server = manager.GetLocalServer())
{
    server.Open();
    foreach (var session in server.GetSessions())
    {
        if (session.ConnectionState == ConnectionState.Active)
        {
            Console.WriteLine(session.ClientName);
        }
    }
}

ITerminalServicesManager.CurrentSession返回当前进程正在其中运行的会话。

于 2012-06-06T13:10:55.713 回答
0

默认情况下,如果您使用远程桌面连接到 Windows 机器,则会关闭本地用户,如果他们重新登录,则会关闭远程用户。如果您启用了并发远程桌面会话,则可以同时连接多个用户。我对 Cassia 不熟悉,但也许您可以遍历所有调用 Cassia.TerminalServicesManager().CurrentSession.ClientName 的会话?

于 2012-06-05T20:52:01.677 回答