46 votes

Privilège d'administrateur C# - vérification

Je sais qu'il y a des questions similaires. Mais je veux vérifier une seule chose.

Je veux seulement savoir si le programme s'exécute en tant qu'administrateur. Je veux vérifier cela parce que je veux éditer des fichiers sécurisés. L'utilisateur n'a pas besoin d'être administrateur. Je veux seulement savoir si mon application a le droit de modifier certains fichiers sécurisés qui sont modifiables lors de l'exécution en tant qu'administrateur.

108voto

atrljoe Points 3895

Cela renverra un bool valide

 using System.Security.Principal;

bool isElevated;
using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
{
    WindowsPrincipal principal = new WindowsPrincipal(identity);
    isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
}

9voto

Lone Coder Points 2417

Voici la réponse de @atrljoe transformée en une seule ligne utilisant le dernier C# :

 using System.Security.Principal;

static bool IsElevated => new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X