#include <windows.h>#include<tlhelp32.h>//process Snapshot function header file#include <stdio.h>intMain () {intcountprocess=0;//Current Process Quantity count variablePROCESSENTRY32 currentprocess;//a struct that holds the snapshot process informationCurrentprocess.dwsize =sizeof(currentprocess);//before using this structure, set its size firstHANDLE hprocess = CreateToolhelp32Snapshot (th32cs_snapprocess,0);//Take a snapshot of all processes within the system if(hprocess = =Invalid_handle_value) {printf ("CreateToolhelp32Snapshot () call failed!\n"); return-1; } BOOLBmore=process32first (hprocess,¤tprocess);//get the first process information while(bmore) {printf ("pid=%5u pname=%s\n", currentprocess.th32processid,currentprocess.szexefile);//traverse the process snapshot, showing each process information in turnBmore=process32next (hprocess,¤tprocess);//traverse the nextcountprocess++; } closehandle (hprocess); //Clear hprocess handleprintf"There are more than%d processes running \ n", countprocess); System ("Pause"); return 0;}
C language implements Windows process traversal