In Win32, rufen GetTokenInformation, einen Token Griff und die TokenUser
konstant verläuft. Es wird eine TOKEN_USER Struktur für Sie ausfüllen. Eines der Elemente darin ist die SID des Benutzers. Es ist ein BLOB (binär), aber Sie können es in eine Zeichenfolge umwandeln, indem Sie ConvertSidToStringSid verwenden.
Um das aktuelle Token-Handle zu erhalten, verwenden Sie OpenThreadToken oder OpenProcessToken.
Wenn Sie ATL bevorzugen, hat es die CAccessToken Klasse, die alle Arten von interessanten Dingen enthält.
.NET verfügt über die Eigenschaft Thread.CurrentPrinciple, die eine IPrincipal-Referenz zurückgibt. Sie können die SID erhalten:
IPrincipal principal = Thread.CurrentPrincipal;
WindowsIdentity identity = principal.Identity as WindowsIdentity;
if (identity != null)
Console.WriteLine(identity.User);
auch in .NET können Sie verwenden WindowsIdentity.GetCurrent(), die den aktuellen Benutzer-ID zurückgibt:
WindowsIdentity identity = WindowsIdentity.GetCurrent();
if (identity != null)
Console.WriteLine(identity.User);
Programmiersprache/Umwelt? –