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

代码如下:

/***************************************************/
/*  函数: 遍历进程信息
/*  参数:进程名称 例如: 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);

 

转载于:https://www.cnblogs.com/-jpp/p/4300509.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值