假设有两个用户A和B登录了计算机,我们可以在cmd.exe中使用命令“query session”来获取每个用户名的所有 session id。
我的问题如下:
1、如何通过API(用户态或内核态)查询给定用户名的session id?
2、如何通过API(用户态或内核态)查询给定session id的用户名?
提前致谢!
最佳答案
您可以使用 Remote Desktop Services API为此。
1, How can I query the session id of a given user name through API (user mode or kernel mode)?
只需使用 WTSEnumerateSessions
获取所有 session ,遍历它们,用 WTSQuerySessionInformation
获取用户名并检查它是否匹配。
或者,如果您有 an access token对于该用户,您可以使用 GetTokenInformation
为其检索 session ID。
2, How can I query the user name of a given session id through API (user mode or kernel mode)?
正如您可能从前面的答案中猜到的那样,您可以使用 WTSQuerySessionInformation
从 session ID 中获取用户名。
关于windows - Windows下如何查询用户的session id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14034666/