列出系统所有进程

 

#include <windows.h>
#include <stdio.h>
#include <tlhelp32.h>
#include <iostream> 
using namespace std;

BOOL GetProcessList()
{    
	HANDLE  hProcessSnap;    
	HANDLE  hProcess;    
	PROCESSENTRY32  pe32;    
	//对系统中当前所有的进程拍下快照    
	hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);  
	if(hProcessSnap == INVALID_HANDLE_VALUE)  
	{     
		return FALSE;   
	}    

	//在使用 PROCESSENTRY32 结构之间需要先设置好该结构的大小  
	pe32.dwSize = sizeof(PROCESSENTRY32);  
	
	//获取第一个进程   
	if(!Process32First(hProcessSnap, &pe32))  
	{    
		CloseHandle(hProcessSnap);     
		return FALSE;  
	}  
	
	//采用 Do - While 遍历所有进程  
	do  
	{     
		printf("\n-----------------------------------------------------"); 
		printf("\n  PROCESS NAME:     = %s", pe32.szExeFile);   
		//cout << endl << pe32.szExeFile << endl;
		printf("\n  process ID        = 0x%08X", pe32.th32ProcessID); 
		//遍历获取下一个进程   
	} while(Process32Next(hProcessSnap, &pe32));   
	CloseHandle(hProcessSnap);    
	return TRUE;
}

void main()
{
	GetProcessList();
}

 

posted @ 2013-09-22 20:55  Fly Hawk  阅读(344)  评论(0编辑  收藏  举报