0

我在 Windows 服务中使用以下一段 c# 代码来捕获远程连接和断开连接事件。

如何获取远程连接到该机器的最终用户的 IP 地址。

protected override void OnSessionChange(SessionChangeDescription changeDescription)
 {
        switch (changeDescription.Reason)
        {
            case SessionChangeReason.RemoteConnect:
                //Remote Connect
                break;
            case SessionChangeReason.RemoteDisconnect:
                //Remote Disconnect
                break;
            default:
                break;
        }
 }
4

2 回答 2

1

我在 c# 中找到了相关的解决方案,它使用WTSQuerySessionInformationPInvokeWTS_INFO_CLASS.WTSClientAddress

有关更多详细信息,您可以转到此处: 以编程方式获取终端服务会话的信息

来自 Selvin 的注释:解决方案不会释放返回的缓冲区......你应该调用WTSFreeMemory(pAddress)

于 2014-12-07T08:35:11.070 回答
0

这是您问题的答案;

检测远程桌面连接的来源

它只是表示您可以查询连接并解析它们。

于 2014-11-30T07:24:49.707 回答