c++写一个循环来查找指定进程 不知道该怎么写?求代码 网上找了不少资料单老是编译出错 求大神指点
BOOL FindProcessByName(LPCTSTR szFileName, PROCESSENTRY32& pe)
{
// 采用进程快照枚举进程的方法查找指定名称进程
HANDLE hProcesses;
PROCESSENTRY32 lpe =
{
sizeof(PROCESSENTRY32)
};
CString strFileName(szFileName);
strFileName.MakeLower();
// 创建进程快照
hProcesses = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcesses == INVALID_HANDLE_VALUE)
return FALSE;
// 获取第一个进程实例
BOOL isExist = ::Process32First(hProcesses, &lpe);
BOOL isRunning = FALSE;
CString strName;
while (isExist)
{
strName = lpe.szExeFile;
strName.MakeLower();
if (-1 != strFileName.Find(strName))
{
isRunning = TRUE;
break;
}
// 遍历下一个进程实例
isExist = ::Process32Next(hProcesses, &lpe);
}
if (isRunning)
{
memcpy(&pe, &lpe, sizeof(PROCESSENTRY32));
}
CloseHandle(hProcesses);
return isRunning;
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。