windows 枚举所有进程 通过快照

余生颓废 提交于 2019-12-06 15:11:31
#include <TlHelp32.h> 1 //枚举系统中的进程
 2 void fun15(int argc, char *argv[]){
 3     //创建进程快照
 4     HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 5     if (hSnapshot == INVALID_HANDLE_VALUE) {
 6         printf("进程快照失败\n");
 7         return ;
 8     }
 9     //进程信息
10     PROCESSENTRY32 pe = {0};
11     pe.dwSize = sizeof(pe);
12     //查找第一个进程
13     BOOL bRet = Process32First(hSnapshot, &pe);
14     while(bRet) {
15         //打印进程ID和进程的名称
16         printf("PID:%d\t名称:%s\n", pe.th32ProcessID, pe.szExeFile);
17         //查找下一个进程
18         bRet = Process32Next(hSnapshot, &pe);
19     }
20     //关闭句柄
21     CloseHandle(hSnapshot);
22 }

显示结果

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!