C#如何检查管理员权限/权限

时间:2015-07-18 12:30:38

标签: c#

我想用我的C#app创建一个文件夹。我正在编写代码,对我来说一切正常,但我的朋友收到错误

  

拒绝访问“myfolder”路径。

那我怎么能要求管理员权限?我搜索过它可以用清单创建..它是什么?如何/在哪里可以获得清单?我是新手抱歉。我想要这样的东西:

enter image description here

1 个答案:

答案 0 :(得分:5)

  

建议1检查管理员权限 - 如果您想在检查后对代码中的bool值执行某些操作

这将返回一个bool值,并允许您使用isAdmin

执行所需操作
using System.Security.Principal;

bool isAdmin;
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
  

建议2 - 强制我的.NET应用程序以管理员身份运行 - 如果您始终希望以管理员身份运行并且我建议使用它,那么我会这样做。

您需要修改嵌入程序中的清单。这适用于VS2008及更高版本:Project + Add New Item,选择“Application Manifest File”。将<requestedExecutionLevel>元素更改为:

 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

用户在启动程序时会收到UAC提示。