远程桌面连接 - C# 事件

x06*_*16e 6 .net c# rdp

有一个小问题。

我们有来自 Netgear 的面向互联网的 VPN,允许教职员工和教师在家中使用 RDC 访问学校网络。

他们使用 Web 浏览器登录 VPN,单击我们的远程服务器之一,然后他们就进入了 RDC。

人们虽然有一个很大的问题,那就是注销。似乎逃过了他们的头。所有用户所做的就是单击 RDC 客户端上的关闭按钮,这不会将他们注销。

我们正在构建一个程序来解决这个问题,想法是“挂钩”到远程桌面 API,然后检查会话是否断开连接,如果是,我们注销用户。

该程序将作为服务或物理最小化的 EXE 在后台运行。

我们正在用 C# 构建它。那么有人知道可以使用 .NET 4 调用的任何 RDC 事件吗?允许我们知道用户何时关闭会话的那些。

如果您需要更多关于此的信息,请告诉我。

干杯

x06*_*16e 6

知道了。

称呼

SystemEvents.SessionSwitch += new SessionSwitchEventHandle SystemEvents_SessionSwitch);
Run Code Online (Sandbox Code Playgroud)

然后

        static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
    {
        if (e.Reason == SessionSwitchReason.RemoteDisconnect || e.Reason == SessionSwitchReason.ConsoleDisconnect)
        {
            // Log off the user...

        }
        else
        {
            // Physical Logon
        }
    }
Run Code Online (Sandbox Code Playgroud)