使用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获得进程句柄的方法》