#include <windows.h>
#include <tlhelp32.h>
bool FindProcess(QString strProcessName)
{
bool bFind = false;
PROCESSENTRY32 pInfo;
pInfo.dwSize = sizeof(pInfo);
DWORD dCurProcesssID = GetCurrentProcessId(); // 获取当前进程ID
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
Process32First(hSnapShot, &pInfo);
do
{
QString strTempProcessName = (QString::fromUtf16(reinterpret_cast<const unsigned short *>(pInfo.szExeFile)));
// 判断当前得到的进程名称是否和指定进程名称相同同时进程ID和当前进程的进程ID不相同
if (strTempProcessName == strProcessName && dCurProcesssID != pInfo.th32ProcessID)
{
bFind = true;
}
} while (Process32Next(hSnapShot, &pInfo));
return bFind;
}