Auflisten der Laufenden Prozesse in Delphi
Wie bekomme ich eine Liste der Laufenden Prozesse (mit details der PID, Besitzer etc) auf meinem Rechner mit Delphi?
EDIT: Keine der vorgeschlagenen Lösungen, gibt mir den Benutzer, dass der Prozess besitzt, der, nur als info, wie PID, Programmname etc...
- Sollten Sie die Verwendung der JCL vorgeschlagen unten. Direkt über die toolhelp-oder EnumProcesses Funktionen ist ziemlich mühsam.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine Möglichkeit ist, über die Die Hilfe-Bibliothek (siehe TlHelp32-unit), oder EnumProcesses auf Windows NT (siehe PsAPI-Einheit). Haben Sie einen Blick auf
JclSysInfo.RunningProcessesList
im JCL für ein Beispiel.Hier ein kurzes Beispiel, wie man den user-Namen eines Prozesses:
Müssen Sie verwenden:
PROCESSENTRY32-Struktur enthält alle Informationen, die Sie brauchen können.
Ist die Dokumentation aus der MSDN für C++, aber es ist die gleichen in Delphi.
Dies ist die Funktion, die wir verwenden, um zu überprüfen, ob ein Prozess vorhanden ist, der FProcessEntry32 hält alle Infos über den Prozess, so dass Sie sollten in der Lage sein zu verlängern, um das, was alle, die Sie benötigen.
es wurde von hier
Den TProcessEntry32 Datensatz sieht so aus:
if StrUtils.EndsText(exeFileName, FProcessEntry32.szExeFile) then
.Diese Klasse wird Ihnen eine Liste aller geöffneten Fenster (unten aufgelistet) mit PID, Titel, Maße, usw. Es ist nicht gerade die Laufenden Prozesse Informationen, aber ich habe es verwendet, um die apps finden Sie über es.
Kann man sich bei der Verwendung der WMISet Komponenten ($69 Einzel-Lizenz, $199 für die site-Lizenz, Testversion verfügbar). Die TWmiProcessControl Komponente scheint zu Kapseln Aufrufe "Win32_Process". Sie haben auch ein Beispiel von immer ein Prozess-Verantwortlicher.
Ich denke Madshi madKernel könnte interessant sein, heraus zu überprüfen.