【发布时间】:2017-01-13 06:29:47
【问题描述】:
我有一个用户 win32 应用程序。这将枚举所有流程详细信息以及 ProcessId。我需要打印用户名和会话 ID。 SessionID 使用 ProcessIdToSessionId() 方法枚举。我想打印相应 SessionID 的用户名。这个应用程序是专门为 WindowsXP 设计的,所以 API 应该支持 WindowsXP。如果有人知道解决方案,请分享。
DWORD dwSessionId,dwPid,dwErr;
char* Uname;
ProcessIdToSessionId(dwPid,&dwSessionId);
【问题讨论】:
-
我已尝试使用该代码,但在 Windows XP 中失败。还有其他方法可以找到吗?
-
@MarshalSebastian 到底是怎么失败的?请更具体。
-
@Ari0nhh:不是重复的。运行进程的用户不一定与登录到正在运行进程的会话的用户相同。(在简单的情况下它们会相同,但并非总是如此。)
-
@RemyLebeau 因为这个应用程序是专门为 windows xp 设计的。我们的某些 xp 32 位笔记本电脑无法执行上述功能。我不知道为什么会这样。
标签: c++ session visual-c++ process windows-xp