【发布时间】:2012-08-21 22:18:30
【问题描述】:
如果我从 Windows 7 上运行的本地服务调用以下 API:
WTS_SESSION_INFO* pWSI;
DWORD nCntWSI;
WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, NULL, 1, &pWSI, &nCntWSI);
然后遍历pWSI中所有返回的WTS_SESSION_INFO结构并检查WTS_CONNECTSTATE_CLASS状态成员,有人能解释一下WTSActive和WTSConnected有什么区别吗?
【问题讨论】:
-
“已连接”并不一定意味着您已成功登录。“活动”确实;)msdn.microsoft.com/en-us/library/windows/desktop/…
-
谢谢。但是您的意思是什么——“已连接”并不一定意味着您已成功登录?用户会话如何“一半”登录?你能解释一下吗?
-
用户已连接并已显示登录屏幕,但尚未完成并经过验证。例如,他可能正在输入密码。
-
@CareyGregory:谢谢。 WTSActive 非常简单。我正在尝试在 WTSConnected 下。那么,如果我将用户会话状态报告为 WTSConnected,这是否意味着用户尚未登录(并且该用户帐户下没有运行用户模式进程)?或者,用户可能以前登录过,锁定了工作站并且还没有重新登录?
-
锁定计算机不会结束您的会话。您保持登录状态。因此连接但未激活意味着您的帐户下没有运行任何进程。
标签: c++ windows winapi terminal-services usersession