#include Psapi.h#include vectorBOOL TraversalProcess2(OUT std::vectorDWORD vec){vec.clear();try{BYTE *pbt = 0;DWORD dwSize = 0, dw = 0x1000;BOOL b = 0;for (; dw INT_MAX !b; dw *= 2){if ...
#include <Psapi.h>
#include <vector>
BOOL TraversalProcess2(OUT std::vector<DWORD> &vec)
{
vec.clear();
try
{
BYTE *pbt = 0;
DWORD dwSize = 0, dw = 0x1000;
BOOL b = 0;
for (; dw < INT_MAX && !b; dw *= 2)
{
if (pbt)
{
delete pbt;
pbt = 0;
}
pbt = new BYTE[dw];
if (pbt)
{
b = EnumProcesses((DWORD*)pbt, dw, &dwSize);
}
}
if (pbt && b)
{
DWORD *pdw = (DWORD*)pbt;
for (DWORD i = 0; i < dwSize / sizeof(DWORD); ++i)
{
vec.push_back(pdw[i]);
}
delete pbt;
pbt = 0;
}
}
catch (...)
{
OutputDebugStringA(__FUNCTION__);
return 0;
}
return vec.size() > 0;
}
int main()
{
std::vector<DWORD> vec;
std::cout << TraversalProcess2(vec) << endl;
for each (DWORD var in vec)
{
printf("%d\t", var);
printf("\r\n");
}
return 0;
}
沃梦达教程
本文标题为:C++.进程2
基础教程推荐
猜你喜欢
- g++: const 丢弃限定符 2022-10-07
- 利用QT设计秒表功能 2023-05-30
- VisualStudio2010安装教程 2023-01-05
- 05-C语言进阶——动态内存管理 2023-11-20
- character-encoding – Linux中最常见的C语言编码(和Unix?) 2023-11-21
- 纯C++代码详解二叉树相关操作 2023-05-15
- C语言的三种条件判断语句你都了解吗 2023-03-05
- C语言数组长度的计算方法实例总结(sizeof与strlen) 2023-04-26
- Qt数据库应用之实现通用数据库请求 2023-03-18
- C语言植物大战数据结构二叉树递归 2023-04-09
