Ich bin auf der Suche nach einer Möglichkeit, die Anzahl der laufenden Prozesse zu erkennen, die den gleichen Prozessnamen hat.Zählen der gesamten gleichen laufenden Prozesse in C++
In meinem Beispiel habe ich den Editor dreimal ausgeführt.
notepad.exe notepad.exe notepad.exe
So wird es 3.
Im Moment habe ich diesen Code zurückgeben einen laufenden Prozess zu erkennen, aber nicht seine laufenden Prozess Menge zu zählen.
#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; }
Jede Art von Hilfe geschätzt :)
Danke.
Dank! Es ist so einfach wie das Entfernen des CloseHandle! –