我需要在我的应用程序中实现一个死人开关。如果应用程序正在从RDP运行,并且它失去了与远程客户端的连接,我需要采取相应措施。
我知道如何使用代码检测是否在RDP中运行:
但是当客户端关闭而没有注销时,会话将继续。这就是我想要应对的情况,但我不知道如何检测客户端断开连接。我需要知道是否有活动的RDP用户。
我可以通过观察RDP端口来找到远程端点,但是由于这种设置可能在非默认端口上进行,如果存在更好的解决方案,我想避免使用此解决方案。
我希望有一个不特定于WinForms、WPF、UWP等的解决方案。如果它也适用于.NET Core,则额外加分。
我知道如何使用代码检测是否在RDP中运行:
GetSystemMetrics(SystemMetric.SM_REMOTESESSION)
但是当客户端关闭而没有注销时,会话将继续。这就是我想要应对的情况,但我不知道如何检测客户端断开连接。我需要知道是否有活动的RDP用户。
我可以通过观察RDP端口来找到远程端点,但是由于这种设置可能在非默认端口上进行,如果存在更好的解决方案,我想避免使用此解决方案。
我希望有一个不特定于WinForms、WPF、UWP等的解决方案。如果它也适用于.NET Core,则额外加分。