何我可以得到用户帐户名称,运行与指定的ID进程。 有没有这个API函数?
我正在使用Windows,C ++。
没有直接执行此操作的API函数,但可以将几个API调用组合起来执行此操作。 当然,您的程序需要满足所有适用于您感兴趣的流程的ACL。
首先,给定进程ID,您需要打开进程的句柄。 您可以使用OpenProcess
,请求PROCESS_QUERY_INFORMATION
访问权限。
一旦你有这个句柄,你可以调用OpenProcessToken
,请求TOKEN_QUERY
访问权限。
最后,您可以调用GetTokenInformation
,请求TokenUser
信息类,它将为您提供令牌的用户帐户。 这些信息以SID
的形式提供给您。 要将SID
转换为帐户的实际名称,可以调用LookupAccountSid
。
一旦你完成它们,不要忘记在进程句柄和令牌CloseHandle
上调用CloseHandle
。