Ich habe ein Prozesshandle mit
%Vor%Wie kann ich den Benutzernamen des Benutzers erhalten, der den Prozess ausführt?
Ich verwende nicht verwalteten Code (kein .NET).
Verwenden Sie OpenProcessToken , um das Token (offensichtlich) zu erhalten GetTokenInformation mit dem TokenOwner
-Flag, um die SID des Eigentümers zu erhalten . Dann können Sie LookupAccountSid verwenden, um den Benutzernamen zu erhalten.
Wenn WMI keine Option ist, verwenden Sie GetUserFromProcess , das die Prozess-ID als Eingabeparameter verwendet und den Benutzernamen und die Domäne zurückgibt:
%Vor% WMI sollte Ihnen diese Informationen mitteilen können. Andernfalls müssen Sie sich auf undokumentierten Spaß in ntdll.dll verlassen. Es scheint, dass andere Lösungen gefunden haben, die ntdll.dll nicht verwenden - verwenden Sie sie undokumentiertes Zeug.