int foundProcessByName(const char *filename)
{
int foundProcessTimes = 0;
HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
PROCESSENTRY32 pEntry;
pEntry.dwSize = sizeof(pEntry);
BOOL hRes = Process32First(hSnapShot, &pEntry);
while (hRes)
{
_bstr_t b(pEntry.szExeFile);
const char* c = b;
if (strcmp(c, filename) == 0)
{
std::wstring ws(pEntry.szExeFile);
std::string test(ws.begin(), ws.end());
//qDebug() << QString("Found Process %1").arg(QString::fromStdString(test));
foundProcessTimes++;
}
hRes = Process32Next(hSnapShot, &pEntry);
}
CloseHandle(hSnapShot);
return foundProcessTimes;
}
if(foundProcessByName("ThreadName") > 1)
{
//进程已打开。
}