#include <windows.h>
#include <tlhelp32.h>
#include <stdio.h>
//列出进程界面
//声明快照的头文件
int main()
{
PROCESSENTRY32 pe32;
//使用这个结构前,先设置其大小
pe32.dwSize = sizeof(pe32);
//给系统所有进程拍一个快照
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
{
printf("CreateToolhelp32Snapshot 调用失败!\n");
return -1;
}
int i = 0;
//遍历进程快照,轮流显示每个进程的信息
BOOL bMore = ::Process32First(hProcessSnap,&pe32);
while(bMore)
{
printf("进程名称:%s\n",pe32.szExeFile);
printf("进程ID号:%u\n\n",pe32.th32ProcessID);
i++;
bMore = ::Process32Next(hProcessSnap,&pe32);
}
::CloseHandle(hProcessSnap);
printf("%d\n",i);
return 0;
}