//
// 关键点
//
// PROCESSENTRY32 pe32;
// pe32.dwSize = sizeof(pe32);
// HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
//
// BOOL bMore = ::Process32First(hProcessSnap,&pe32); //得到第一个进程
// while(bMore)
// {
// bMore = ::Process32Next(hProcessSnap,&pe32); //得到下一个进程
// }
//
#include "windows.h"
#include "tlhelp32.h"
#include "stdio.h"
#include "conio.h"
int main( int argc , char * argv[] )
{
//记录进程数
int num = 1;
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if( hProcessSnap == INVALID_HANDLE_VALUE )
{
printf("CreateToolhelp32snapshot调用失败/n");
return -1;
}
printf("************************ 进程查看程序 ************************/n/n");
printf( "%4s%20s%20s/n/n" , "编号" , "进程名称" , "进程号" );
BOOL bMore = ::Process32First(hProcessSnap,&pe32);
while(bMore)
{
printf("%4d" , num );
printf("%20s" , pe32.szExeFile);
printf("%20d/n" , pe32.th32ProcessID);
bMore = ::Process32Next(hProcessSnap,&pe32);
num++;
}
::CloseHandle(hProcessSnap);
getch();
return 0;
}