C++ 从进程中获取用户名

2022-01-02 00:00:00 process winapi c++

我有一个进程句柄

HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, THE_PROCESS_ID);

如何获取正在运行该进程的用户的用户名?

How can I get the username of the user that is running the process?

我使用的是非托管代码(没有 .NET).

I am using unmanaged code (no .NET).

推荐答案

使用 OpenProcessToken 获取令牌(显然),然后 GetTokenInformation 使用 TokenOwner 标志获取所有者的 SID.然后您可以使用 LookupAccountSid 获取用户名.

Use OpenProcessToken to get the token (obviously), then GetTokenInformation with the TokenOwner flag to get the SID of the owner. Then you can use LookupAccountSid to get the username.

相关文章