【发布时间】:2014-05-27 16:56:48
【问题描述】:
有没有办法以编程方式检测当前 Windows PC/用户上是否存在 LogMeIn 会话?
我已经尝试了几种方法(在 C# 中,但语言无关紧要):
- 使用 CPU 性能计数器,假设 LogMeInRC.exe 的 CPU 使用率在会话期间明显更高。这种方法可以检测到一些会话,但是错误率太高了。
- 通过监视 LogMeIn 的性能计数器
IO Write Bytes/s或IO Data Bytes/s。这仅在最初有效。如果会话超过一分钟,这些性能计数器不会记录任何活动,即使 LogMeIn 仍有网络流量。
有什么提示吗?
【问题讨论】:
-
你为什么不只检查登录用户?对此有很多答案,例如stackoverflow.com/questions/22609200/…
-
同一用户登录,无论用户是坐在 PC 前还是在 LogMeIn 会话中。
-
这是不正确的。用户名可能相同,会话/配置文件将不同。操作系统知道会话是本地的还是远程的以及它是如何建立的。这是您通过切换到任务管理器的用户选项卡获得的信息。您可以使用 WMI、P/Invoke 或 System.Management 类获得相同的信息
-
我刚刚检查了任务管理器的用户选项卡:无论我是在 PC 前还是在 LogMeIn 会话中,都列出了相同且唯一的用户。