确定Windows 7计算机上是否有任何交互式用户

时间:2013-11-08 22:07:05

标签: c# windows winapi service

从Windows 7计算机上运行的服务中,我希望能够确定是否有任何交互式用户登录并处于活动状态。这应该计入在本地或通过远程桌面登录的用户。如果用户在本地登录并锁定其计算机,则该计算机将被视为非活动状态。

1 个答案:

答案 0 :(得分:1)

  • 使用WTSEnumerateSessions枚举会话。这会为您提供会话ID列表。
  • 为每个会话ID调用WTSQuerySessionInformation。为WTSSessionInfoEx参数指定WTSInfoClass。这会为您提供WTSINFOEX结构。
  • 里面是WTSINFOEX_LEVEL1结构。从那里你可以通过在会话标志中查找WTS_SESSIONSTATE_LOCK来读取会话状态并检查被锁定的会话。
相关问题