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);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。