本文实例讲述了C++基于CreateToolhelp32Snapshot获取系统进程的实现方法。分享给大家供大家参考。具体方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// GetWinProcess.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <Windows.h>
#include <TlHelp32.h>
int _tmain( int argc, _TCHAR* argv[])
{
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == FALSE )
{
printf ( "CreateToolhelp32Snapshot error" );
return -1;
}
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof (PROCESSENTRY32);
BOOL bRet = Process32First(hProcessSnap, &pe32);
while (bRet)
{
printf ( "[process name]:%ws\n" , pe32.szExeFile);
printf ( "[PID]:%d\n\n" ,pe32.th32ProcessID);
bRet = Process32Next(hProcessSnap, &pe32);
}
::CloseHandle(hProcessSnap); // 经常忘记这句
return 0;
}
|
希望本文所述对大家的C++程序设计有所帮助。