博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++获取Windows7 32位系统中所有进程名(类似于任务管理器中的进程)
阅读量:5143 次
发布时间:2019-06-13

本文共 1487 字,大约阅读时间需要 4 分钟。

代码是网上查找资料,然后自己调试,修改之后可以运行。

系统:win7 32位,VS2008

-----------------------------------------------------------------------代码------------------------------------------------------------------------------------

1 #include 
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 8 bool traverseProcesses(map
& _nameID) 9 { 10 PROCESSENTRY32 pe32; 11 pe32.dwSize = sizeof(pe32); 12 13 HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);//获取进程快照 14 if(hProcessSnap == INVALID_HANDLE_VALUE) { 15 cout << "CreateToolhelp32Snapshot Error!" << endl;; 16 return false; 17 } 18 19 BOOL bResult =Process32First(hProcessSnap, &pe32); 20 21 int num(0); 22 23 while(bResult) 24 { 25 //string name = string(pe32.szExeFile);26 char temp[300];27 WideCharToMultiByte(CP_ACP, 0, pe32.szExeFile, -1, temp, sizeof(temp), NULL, NULL);28 string name = string(temp);29 int id = pe32.th32ProcessID; 30 31 cout << "[" << ++num << "] : " <<"Process Name:" 32 << name << " " << "ProcessID:" << id<< endl; 33 34 _nameID.insert(pair
(name, id)); //字典存储 35 bResult = Process32Next(hProcessSnap,&pe32); 36 } 37 38 CloseHandle(hProcessSnap); 39 40 return true; 41 } 42 43 int main() 44 { 45 map
_nameID; 46 47 if (!traverseProcesses(_nameID)) { 48 cout << "Start Process Error!" << endl; 49 } 50 51 return 0; 52 }

 运行结果:

转载于:https://www.cnblogs.com/LCCRNblog/p/4652374.html

你可能感兴趣的文章
Nuget:Newtonsoft.Json
查看>>
【luogu4185】 [USACO18JAN]MooTube [并查集]
查看>>
手机号脱敏处理
查看>>
CI控制器调用内部方法并载入相应模板的做法
查看>>
Hdu - 1002 - A + B Problem II
查看>>
HDU - 2609 - How many
查看>>
每天CookBook之Python-003
查看>>
每天CookBook之Python-004
查看>>
Android设置Gmail邮箱
查看>>
StringBuffer的用法
查看>>
js编写时间选择框
查看>>
PHP压缩文件操作
查看>>
Java数据结构和算法(四)--链表
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>