VC++.进程遍历3

#include <vector>
BOOL TraversalProcess3(OUT std::vector<DWORD> &vec)
{
	vec.clear();
	try
	{
		HANDLE hProcess = 0;
		for (DWORD i = 0; i < WORD_MAX; i += 4)
		{
			hProcess = ::OpenProcess(PROCESS_ALL_ACCESS, 0, i);
			if (hProcess)
			{
				vec.push_back(i);
				CloseHandle(hProcess);
				hProcess = 0;
			}
		}
	}
	catch (...)
	{
		OutputDebugStringA(__FUNCTION__);
		return 0;
	}
	return vec.size() > 0;
}

int main()
{
	std::vector<DWORD> vec;
	std::cout << TraversalProcess3(vec) << endl;
	for each (DWORD var in vec)
	{
		printf("%d\t", var);
		printf("\r\n");
	}

    return 0;
}
posted @ 2020-03-10 23:13  N.everever  阅读(130)  评论(0)    收藏  举报