#include <windows.h> #include <stdio.h> #include <tlhelp32.h> #include <iostream> using namespace std; BOOL GetProcessList() { HANDLE hProcessSnap; HANDLE hProcess; PROCESSENTRY32 pe32; //对系统中当前所有的进程拍下快照 hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(hProcessSnap == INVALID_HANDLE_VALUE) { return FALSE; } //在使用 PROCESSENTRY32 结构之间需要先设置好该结构的大小 pe32.dwSize = sizeof(PROCESSENTRY32); //获取第一个进程 if(!Process32First(hProcessSnap, &pe32)) { CloseHandle(hProcessSnap); return FALSE; } //采用 Do - While 遍历所有进程 do { printf(" -----------------------------------------------------"); printf(" PROCESS NAME: = %s", pe32.szExeFile); //cout << endl << pe32.szExeFile << endl; printf(" process ID = 0x%08X", pe32.th32ProcessID); //遍历获取下一个进程 } while(Process32Next(hProcessSnap, &pe32)); CloseHandle(hProcessSnap); return TRUE; } void main() { GetProcessList(); }