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?