Dans Win32, appelez GetTokenInformation, en passant d'une poignée jeton et la constante TokenUser
. Il va remplir une structure TOKEN_USER pour vous. L'un des éléments est le SID de l'utilisateur. C'est un BLOB (binaire), mais vous pouvez le transformer en une chaîne en utilisant ConvertSidToStringSid. Pour obtenir la poignée de jeton actuelle, utilisez ou OpenProcessToken.
Si vous préférez ATL, il a la classe CAccessToken, qui contient toutes sortes de choses intéressantes.
.NET a la propriété Thread.CurrentPrinciple qui renvoie une référence IPrincipal. Vous pouvez obtenir le SID:
IPrincipal principal = Thread.CurrentPrincipal;
WindowsIdentity identity = principal.Identity as WindowsIdentity;
if (identity != null)
Console.WriteLine(identity.User);
également dans .NET, vous pouvez utiliser WindowsIdentity.GetCurrent(), qui retourne l'ID utilisateur actuel:
WindowsIdentity identity = WindowsIdentity.GetCurrent();
if (identity != null)
Console.WriteLine(identity.User);
/environnement? –