【Exe是否是管理员运行】C#判断当前程序是否通过管理员运行 说明:
在Win7下有时候经常会出现程序无法写入注册表或者其他完成一些其他对系统数据的读取和修改,这个时候大多是没有权限,当然这个是可以通过在程序可执行文件上面右 键》》以管理员身份运行来解决的。
- 但是很多情况下客户并不知道这样做,所以为了提高用户体验我们可以在程序中来通过判断是否通过管理员运行来给予相应的提示。
- 这里写好了一个方法以供调用,注意需要引命名空间:using System.Security.Principal;
代码:
[C#] 纯文本查看 复制代码 public static bool IsAdministrator()
{
WindowsIdentity current = WindowsIdentity.GetCurrent();
WindowsPrincipal windowsPrincipal = new WindowsPrincipal(current);
//WindowsBuiltInRole可以枚举出很多权限,例如系统用户、User、Guest等等
return windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
}
编后语:
当然有的系统或者程序默认就是管理员权限的,有的不是,有了这个判断就可以避免本身没有权限读取而我们有没有预料到导致程序异常的问题了。
当然可以给用户一个提示告诉用户如何给相应的运行权限。
|