有时我们在使用VC开发时,根据需要偶尔需要查看系统当前正在运行中的所有的进程,此时,可以使用VC开发中给我们提供的一种方法——枚举进程,以下介绍两个实例,主要是通过查看网上其他网友的文章,以及在MSDN上面搜索后本人再进行整理得到的历程。具体的话可以查看每个例子给出相应的网站。
以下每个例子都在VC2010测试通过!
第一个例子:给当前系统运行的所有进程“拍个照”,然后逐个将它们打印出
//例程 http://msdn.microsoft.com/en-us/library/windows/desktop/ms686701(v=vs.85).aspx
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
#include <iostream>
using namespace std;
// 枚举当前系统中的所有进程
bool ListProcess();
// 枚举某个进程所使用的模块, dwPID 为要检查的进程的进程号
bool ListProcessModules( DWORD dwPID = 0 );
int main()
{
ListProcess();
//ListProcessModules(5308);
return 0;
}
bool ListProcess()
{
HANDLE hSnapShot = INVALID_HANDLE_VALUE;
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof( PROCESSENTRY32 );// 必须加这句
hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
if(hSnapShot == INVALID_HANDLE_VALUE)
{
cout<<(_T("error!"));
return false;
}
BO