c++ - 如何确定 LSA session 在 Windows XP 中是否处于事件状态

标签 c++ windows winapi rdp local-security-authority

我正在尝试获取当前登录到机器的用户列表。

在 Windows 7 上,我可以调用 LsaEnumerateLogonSessions,然后调用带有 WTSConnectState 的 WTSQuerySessionInformation。

但是在 XP 上,每个 LSA session 的 TS session 字段都为 0(除非它是远程桌面 session ),它始终具有 WTSActive 的 WTSConnectState,最后我列出了所有已经退出机器的人.当 session 是远程桌面 session 时,WTSQuerySessionInformation 失败。

最佳答案

我相信this codeproject article使用可能是您所追求的解决方法,它枚举所有正在运行的进程,根据 LUID 的 LsaEnumerateLogonSessions 列表检查 AuthenticationId(进程 token 上的 TokenStatistics)给您。这允许您过滤掉陈旧的 LUID

关于c++ - 如何确定 LSA session 在 Windows XP 中是否处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204941/

相关文章:

c++ - 以编程方式重新启动所有崩溃服务的服务程序

c++ - 当(错误地)取消对指针的引用时,我如何收到以下输出?

c++ - 如何在 C++ 中读取未知形状的二进制文件?

python - 在用户数据中将 powershell 脚本发送到 Windows ec2

windows - 带有 Clang 5.0 和 MinGW 的 OpenMP

c++ - 如何获取卷 GUID

c++ - tellg() 失败的可能原因?

c++ - cvShowImage 错误

c++ - windows api创建快捷方式并将应用程序放入开始菜单

c++ - 如何使 StackWalk64() 在 x64 上成功运行?