当前位置:C++技术网 > 资讯 > 使用EnumProcesses枚举系统所有进程ID

使用EnumProcesses枚举系统所有进程ID

更新时间:2015-06-24 10:51:13浏览次数:1+次

使用EnumProcesses枚举系统所有进程ID

所需头文件#include "Psapi.h"
需要导入Psapi.lib文件,使用预处理指令导入#pragma comment(lib,"Psapi.lib")

代码示例:

#include "Psapi.h"
#pragma comment(lib,"Psapi.lib")
void EmunSystemAllProcessID()
{
    DWORD processArray[1024]={0};//大数组存储进程ID
    DWORD dwReturnByte = 0;//实际接收的字节数
    if(EnumProcesses(processArray,1024,&dwReturnByte))
    {
        //枚举进程成功,processArray存储了系统所有进程的ID
        //系统空闲进程为虚拟进程,ID永远为0
    }
}


如果要获得进程数,使用dwReturnByte/sizeof(DWORD)即可。


获得进程ID后,要通过ID获取进程句柄,可以参考 《使用ID获得进程句柄的方法