【API】获取所有进程的用户名

本文展示了一段C++代码,该代码使用WtsApi32库枚举当前服务器上的所有活动进程,并获取每个进程所属的用户名和域名。通过调用WTSEnumerateProcesses和LookupAccountSid函数,实现了进程信息的获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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】获取所有进程的用户名

转载于:https://blog.51cto.com/383156647/2067762

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值