开发者社区> 问答> 正文

c++写一个循环来查找指定进程 不知道该怎么写?求代码

c++写一个循环来查找指定进程 不知道该怎么写?求代码 网上找了不少资料单老是编译出错 求大神指点

展开
收起
a123456678 2016-03-05 16:39:03 2395 0
1 条回答
写回答
取消 提交回答
  • 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;

    }

    2019-07-17 18:53:45
    赞同 展开评论 打赏
问答分类:
C++
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载

相关实验场景

更多