winapi - 了解 WTSEnumerateSessions 中的 session 信息

标签 winapi

我一直在尝试使用 WTSEnumerateSessions 来确定当前登录的用户数量,如 post 中所建议的那样。 .

我的主要问题是不理解如何使用返回的 WTS_SESSION_INFO 结构的内容来确定有多少用户登录。在Windows XP Pro SP3中,当单个用户登录时,我会得到两批 session 信息;

Win 站名称:控制台,ID:0
Win站名称:RDP-Tcp,ID:65536

在 Windows 7 Ultimate(64 位)中,当单个用户登录时,我会再次获得两批 session 信息:

Win 站名称:服务,ID:0
赢站名称:控制台,ID:1

任何人都可以向我解释/指出一个资源的方向,该资源可以解释两个操作系统之间的 session 信息如何以及为何不同?我如何根据这些信息确定有多少用户登录?

非常感谢

最佳答案

为什么 session 0 已更改:http://msdn.microsoft.com/en-us/library/bb756986.aspx

ID 为 65536 的 RDP-Tcp session 是一个监听 session - 它仅监听传入连接。

要确定有多少用户登录,我建议计算使用非空用户名的 session 数。您可以使用 WTSQuerySessionInformation 获取 session 的用户名。如果您使用 .NET 语言,您可能会找到 Cassia library使用起来更方便。

关于winapi - 了解 WTSEnumerateSessions 中的 session 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445272/

相关文章:

c++ - 如何追踪 Windows USER 对象泄漏?

c++ - 如何初始化一个点数组?

c++ - 为什么 CreateProcess API 调用会导致内存访问冲突?

c++ - _tcslen 和 _tcsclen 有什么区别?

c++ - 使用 CreateRemoteThread API 时如何修复 "LPVOID: unknown size"错误?

c++ - 在CListCtrl中搜索项目

delphi - 如何使用Delphi检测Windows 10是否处于平板电脑模式?

c++ - 在 IDE 中检测硬盘驱动器

C++ win32 背景

c++ - 在库中拆分实用程序功能以最大化可重用性的最佳方法是什么?