Abrufen einer vollständigen Liste der Windows-Prozesse in C

Ich entwickle eine einfache Sammlung von Prozessstatistiken für Windows. Ich zähle die Prozesse mit aufEnumProcesses() Funktion, und ich versuche, sie mit zu öffnenOpenProcess() Aufruf mit Flag PROCESS_QUERY_INFORMATION. Letzteres schlägt jedoch für eine Reihe von Systemprozessen fehl. Gleichzeitig sehe ich, dass ähnliche Anwendungen (Sysinternals-Tools, Task-Manager usw.) offenbar auch ohne Administratorrechte Informationen über diese Prozesse abrufen können. Ich habe versucht, das SeDebugPrivilege-Privileg zu aktivieren, aber es hat nur geholfen, als ich mein Programm als Administrator ausgeführt habe - und trotzdem konnte ich den Leerlaufprozess, den Systemprozess und den Audiodg-Prozess nicht öffnen (ich möchte deren Rechte abrufen können) Informationen zur Konsistenz).

Die Frage ist also: Wie kann ich Informationen erhalten?alles die Prozesse (Ich sehe es von Anwendungen von Drittanbietern, aber ich sehe nicht, wie)? Ist es möglich, dies ohne Administratorrechte zu tun?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage