遍历 进程

BOOL Crar2Dlg::FindProcess(CString ProcessName)
{
    HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    BOOL ret = FALSE;
    PROCESSENTRY32* info=new PROCESSENTRY32;//声明进程信息变量
    info->dwSize=sizeof(PROCESSENTRY32);   
    int i=0;
    if(Process32First(handle,info))
    {
        if(GetLastError()==ERROR_NO_MORE_FILES )
            return FALSE;
        else
        {
            CString id;
            id.Format(_T("%s"),info->szExeFile);
            if(ProcessName == id)
                ret = TRUE;
            if(ret == FALSE)
            {
                while(Process32Next(handle,info)!=FALSE)
                {
                    id.Format(_T("%s"),info->szExeFile);
                    if(id == ProcessName)
                    {
                        ret = TRUE;
                        break;
                    }
                    i++;
                }
            }
        }
    }
    else
        ret = FALSE;
    CloseHandle(handle);
    delete info;
    return ret;
}
本人新博客网址为:http://www.hizds.com
本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段。c++/lua/windows逆向交流群:69148232
原文地址:https://www.cnblogs.com/zhangdongsheng/p/2657129.html