Autor Beitrag
BlackDragon
Hält's aus hier
Beiträge: 10


Delphi 7 Prof.,Turbo Delphi 2006, #Develop
BeitragVerfasst: Do 06.12.07 15:04 
Hallo zusammen.

Ich entwickle momentan ein kleines Tool, welches dem Taskmanager von Windows entspricht, allerdings mit erweiterten Eigenschaften.
Bisher kam ich auch gut zurecht und die ermittelten Werte und Angaben stimmten mit denen im Taskmanager überein.

Ich lese zum Beispiel sämtliche Prozesse ein und lasse mir die Daten anzeigen. Als ich zu dem Punkt kam wo ich den Benutzernamen auslesen wollte, stolperte ich über die unterschiedlichen Angaben im Taskmanager bzw. meines Programms.
Einige Prozesse im Taskmanager werden mit Benutzer "System" angezeigt. Diese stehen in meinem Programm allerdings unter "Administratoren". :?

Habe dann im Internet gesucht um dafür ein Erklärung zu finden und bin auf das Beispiel von Luckie gestoßen. Dort wird alles sehr ähnlich gelöst. Habs dann auch mal kompiliert und durch den Debugger gejagt. Die Ausgaben dort stimmen mit meinen überein. Allerdings ist auch dort kein Prozess mit dem Eintrag "System" zu finden.

In der Registry ist auch keine SID für System vorhanden.

Hab ich ein Brett vorm Kopf oder irgendwas nicht richtig verstanden? Kann es sein das der Taskmanager seine Informationen anders holt?

Bin mal gespannt was ihr dazu sagt. (Speziell Luckie :wink: )

Hänge zum besseren Verständnis mal zwei Screenshots an. Hier sind die Einträge von "svchost.exe" mit entssprechenden Benutzernamen zu sehen.

Mfg

Olli
Einloggen, um Attachments anzusehen!
BlackDragon Threadstarter
Hält's aus hier
Beiträge: 10


Delphi 7 Prof.,Turbo Delphi 2006, #Develop
BeitragVerfasst: Sa 08.12.07 01:52 
Hallo.

Kurz nach diesem Post hier, habe ich die Lösung gefunden (bin mir auf jeden Fall sicher) :wink:

Da ich meine Lösung nicht vorenthalten möchte, hier eine kurze Erklärung.

Der Schlüssel zum Erfolg ist der Parameter "cbReferencedDomainName" in der Funktion "LookupAccountSidW".
Der stellt einen Wert dar, welcher die Zugehörigkeit des Prozesses bestimmt.
(z.B. SidTypeAlias=4 steht für SYSTEM)

Bis später

Olli