#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; }
原文:https://www.cnblogs.com/that-boy-done/p/12055913.html