【API】獲取所有進程的用戶名

#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】獲取所有進程的用戶名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章