/// <summary>
/// 进程遍历
/// </summary>
/// <returns></returns>
BOOL EnumProcess()
{
PROCESSENTRY32 pe32 = { 0 };
pe32.dwSize = sizeof(PROCESSENTRY32);
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);// 获取全部进程快照
if (INVALID_HANDLE_VALUE == hProcessSnap)
{
ShowError(L"CreateToolhelp32Snapshot");
return FALSE;
}
BOOL bRet = ::Process32First(hProcessSnap, &pe32);// 获取快照中第一条信息
while (bRet)
{
printf("[%d]\t", pe32.th32ProcessID);// 显示 Process ID
printf("[%s]\n", pe32.szExeFile);// 显示 进程名称
bRet = ::Process32Next(hProcessSnap, &pe32);// 获取快照中下一条信息
}
::CloseHandle(hProcessSnap);// 关闭句柄
return TRUE;
}