Heim > Backend-Entwicklung > C++ > Hauptteil

Wie kann ich in C ein Prozesshandle nach Namen abrufen?

Barbara Streisand
Freigeben: 2024-11-21 16:01:10
Original
562 Leute haben es durchsucht

How Can I Get a Process Handle by Name in C  ?

Prozesshandle nach Namen in C abrufen

Um das Handle eines Prozesses basierend auf seinem Prozessnamen abzurufen, z. B. „example.exe“. „können wir den folgenden Ansatz in C verwenden.

Der erste Schritt besteht darin, mit CreateToolhelp32Snapshot einen Snapshot aller laufenden Prozesse zu erstellen Funktion:

HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
Nach dem Login kopieren

Als nächstes müssen wir die Prozesse im Snapshot durchlaufen, um den Prozess mit dem angegebenen Namen zu finden:

PROCESSENTRY32 entry;
entry.dwSize = sizeof(PROCESSENTRY32);

if (Process32First(snapshot, &entry) == TRUE) {
  while (Process32Next(snapshot, &entry) == TRUE) {
    if (stricmp(entry.szExeFile, "target.exe") == 0) {
      // Found the process
Nach dem Login kopieren

Mit den vorliegenden Prozessinformationen können wir das Verwenden Sie die OpenProcess-Funktion, um ihr Handle zu erhalten:

HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);
Nach dem Login kopieren

Hinweis: Um die zu verwenden PROCESS_ALL_ACCESS-Berechtigung, müssen Sie möglicherweise die Debug-Berechtigung aktivieren, wie im alternativen Codeausschnitt in der Antwort auf die Frage gezeigt.

EnableDebugPriv();
Nach dem Login kopieren

Sobald Sie das Prozesshandle haben, können Sie verschiedene Vorgänge darauf ausführen, einschließlich Beenden des Prozesses mit TerminateProcess.

TerminateProcess(hProcess, 0);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in C ein Prozesshandle nach Namen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage