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

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

用CreateToolhelp32Snapshot
参考:
http://blog.csdn.net/zhongbin104/article/details/7867309

 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;
}