#include <WtsApi32.h>
#pragma comment(lib,"WtsApi32.lib")
SID_NAME_USE sUse;
WTS_PROCESS_INFO *pProInfo,*pTemp;
DWORD dwRes;
DWORD dwSize = MAX_PATH;
WCHAR wzUserName[MAX_PATH];
WCHAR wzDomainName[MAX_PATH];
if(WTSEnumerateProcesses(WTS_CURRENT_SERVER_HANDLE,0,1,&pProInfo,&dwRes))
{
pTemp = pProInfo;
for (DWORD i = 0; i < dwRes;i ++)
{
//if (pTemp->ProcessId == dwProcess) //可以获取特定进程
{
if(LookupAccountSid(NULL,pTemp->pUserSid,wzUserName,&dwSize,wzDomainName,&dwSize,&sUse))
{
wprintf(_T("%d %d %s %s %s\r\n"),i,pTemp->ProcessId,pTemp->pProcessName,wzUserName,wzDomainName);
}
}
pTemp ++;
}
WTSFreeMemory(pProInfo);
}
【API】获取所有进程的用户名
原创
©著作权归作者所有:来自51CTO博客作者HACK007的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:【API】获取进程的所有模块名
下一篇:【API】获取当前进程的内存信息
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章