#include<Windows.h>
#include<TlHelp32.h> //声明快照函数的头文件
#include<stdio.h>
int main(int argc, char*argv[])
{
system("color 0A"); //设置底色
PROCESSENTRY32 pe32; //声明该结构体变量
//在使用这个结构前,先设置它的大小
pe32.dwSize = sizeof(pe32);
//给系统内的所有进程拍一个快照
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //用于获取系统内指定进程的快照,传递两个参数
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
printf("Create Toolhelp32Snapshot 调用失败! \n");
return -1;
}
//遍历进程快照,轮流显示每个进程的信息
BOOL bMore = ::Process32First(hProcessSnap, &pe32);
while (bMore)
{
printf("进程名称:%s \n", pe32.szExeFile);
printf("进程ID号: %u \n\n", pe32.th32ProcessID);
bMore = ::Process32Next(hProcessSnap, &pe32);
}
//清楚snapshot对象
::CloseHandle(hProcessSnap);
system("pause");
return 0;
}