Я ищу способ обнаружения # запущенных процессов с таким же именем процесса.
В качестве примера я три раза запускал блокнот.
notepad.exe notepad.exe notepad.exe
Итак, он вернет 3.
В настоящее время у меня есть этот код для обнаружения запущенного процесса, но не считая его количество выполняемого процесса.
#include <iostream>
#include <windows.h>
#include <tlhelp32.h>
#include <tchar.h>
bool IsProcessRunning(const char *ProcessName);
int main()
{
char *notepadRunning = (IsProcessRunning("notepad.exe")) ? "Yes" : "No";
std::cout << "Is Notepad running? " << notepadRunning;
return 0;
}
bool IsProcessRunning(const char *ProcessName)
{
PROCESSENTRY32 pe32 = { sizeof(PROCESSENTRY32) };
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(Process32First(hSnapshot, &pe32))
{
do
{
if(_tcsicmp(pe32.szExeFile, ProcessName) == 0)
{
CloseHandle(hSnapshot);
return true;
}
} while(Process32Next(hSnapshot, &pe32));
}
CloseHandle(hSnapshot);
return false;
}
Любая помощь будет оценена:)
Спасибо.