码迷,mamicode.com
首页 > 系统相关 > 详细

VC中遍历进程并获取进程信息

时间:2015-02-26 08:37:27      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:

代码如下:

/***************************************************/
/*  函数: 遍历进程信息
/*  参数:进程名称 例如: aaa.exe
/*	返回: 无
/*  创建人:			日期				内容
/*	金胖胖		2015年2月26日		新建
/***************************************************/
void CUIConsoleDlg::GetAllProcessInfo(char* szExeFile)
{
	char szprid[MAX_PATH];
	memset(szprid,0,MAX_PATH);
	HANDLE  hSnap   = NULL;  
	PROCESSENTRY32  pe = { sizeof(PROCESSENTRY32) };  
	hSnap = ::CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); //创建快照
	if( INVALID_HANDLE_VALUE == hSnap )
	{
		AfxMessageBox("创建快照失败");
	}

	if (!::Process32First(hSnap,&pe))
	{
		::CloseHandle( hSnap );  
		AfxMessageBox("Process32First error");
	}

	do 
	{
		if (!strcmp(szExeFile,pe.szExeFile))
		{
			// 此处有用的为  进程名
			// pe.th32ProcessID 进程ID
			// pe.szExeFile 进程名
			// 可以添加一些处理
		}

	} while (::Process32Next(hSnap, &pe));
	::CloseHandle( hSnap ); 
}

 另外可以通过进程ID得到进程句柄

HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe.th32ProcessID);

 

VC中遍历进程并获取进程信息

标签:

原文地址:http://www.cnblogs.com/-jpp/p/4300509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!