Hoo*_*och 36 .net c# privileges rights administrator
我知道有一些类似的问题.但我只想检查一件事.
我只想知道程序是否以管理员身份运行.我想检查一下,因为我想编辑一些安全文件.用户不必是管理员.我只想知道我的应用程序是否有权编辑一些在以管理员身份运行时可编辑的安全文件.
atr*_*joe 87
这将返回一个有效的bool
using System.Security.Principal;
bool isElevated;
using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
{
WindowsPrincipal principal = new WindowsPrincipal(identity);
isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);
}
Run Code Online (Sandbox Code Playgroud)
这是@atrljoe的答案,使用最新的C#变成了一个衬里:
using System.Security.Principal;
static bool IsElevated => new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
Run Code Online (Sandbox Code Playgroud)