尝试在Windows操作系统上解释用户会话状态

时间:2012-08-21 22:18:30

标签: c++ windows winapi terminal-services usersession

如果我从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状态成员,有人可以解释WTSActiveWTSConnected之间的区别吗?

1 个答案:

答案 0 :(得分:1)

已连接表示用户已连接并已(或将很快将)显示登录屏幕但尚未完成并已经过验证。例如,他可能正在输入密码。

如果用户已锁定工作站,它已被屏幕保护程序锁定,或者他已切换到另一个用户帐户,则不会结束其会话。用户仍然登录,他的会话将保持标记为活动状态。因此,连接但不活动意味着在该用户的帐户下没有运行任何进程。 (有一点需要注意的是,在该用户的凭据下,可以在单独的会话中运行服务或其他进程,但这是另一回事。)