BOOL IsProcessExist(CString ProcessName) { BOOL ProcessExist=false; PROCESSENTRY32 my; //用来存放快照进程信息的一个结构体 HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); //创建进程快照 if (((int)l) != -1) { my.dwSize = sizeof(my); //必须这样初始化,否则调用Process32First失败 if (Process32First(l, &my)) //获得进程快照中的第一个进程 { do { //CharLowerBuff(my.szExeFile, MAX_PATH);//转换成小写字母 if(strcmp(ProcessName ,my.szExeFile) == 0) //查找对应进程 { dwProcID = my.th32ProcessID;//获取进程ID // ProcHWND = GetHWND(dwProcID);//获取窗口句柄 ProcessExist=TRUE; break; } else { ProcessExist=FALSE; } }while (Process32Next(l, &my)); //获取下一个进程 } CloseHandle(l); } return ProcessExist; }