读取Windows进程PID与句柄的C程序实例

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<windows.h>
 4 #include<tlhelp32.h>
 5 int main(){
 6     int countProcess=0;//当前进程数量计数变量
 7     PROCESSENTRY32 currentProcess;//存放快照进程信息的一个结构体    
 8     currentProcess.dwSize = sizeof(currentProcess);//在使用这个结构之前,先设置它的大小
 9     HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
10     
11     if (hProcess == INVALID_HANDLE_VALUE){
12         printf("CreateToolhelp32Snapshot()调用失败!\n");
13         return -1;
14     }
15     
16     bool bMore=Process32First(hProcess,&currentProcess);//获取第一个进程信息
17     while(bMore){
18         printf("PID=%5u    PName= %s\n",currentProcess.th32ProcessID,currentProcess.szExeFile);//遍历进程快照,轮流显示每个进程信息
19         bMore=Process32Next(hProcess,&currentProcess);//遍历下一个
20         countProcess++;
21     }
22     
23     CloseHandle(hProcess);//清除hProcess句柄
24     printf("共有以上%d个进程在运行\n",countProcess);
25     system("pause");
26     return 0;
27 }

猜你喜欢

转载自www.cnblogs.com/izayoi/p/9777889.html