只要电脑上有两个用户,分别名为A和B,登录后,我们可以使用cmd.exe中的 "查询会话 "命令来获取每个用户名的所有会话id。
我的问题如下。
1,如何通过API(用户模式或内核模式)查询某个用户名的session id?
2、如何通过API(用户模式或内核模式)查询指定用户名的session id?
先谢谢了!
你可以用 远程桌面服务API 为此。
1、如何通过API(用户模式或内核模式)查询给定用户名的session id?
只需使用 WTSEnumerateSessions
,遍历它们,得到用户名与 WTSQuerySessionInformation
并检查它是否匹配。
或者,如果你有 令牌 对于该用户,您可以使用 GetTokenInformation
来获取它的会话ID。
2、如何通过API(用户模式或内核模式)查询给定会话ID的用户名?
从前面的回答中你可能会猜到,你可以使用 WTSQuerySessionInformation
从会话ID中获取用户名。