一、判断程序是否以管理员权限运行
using System.Security.Principal;
public bool IsAdministrator()
{
WindowsIdentity current = WindowsIdentity.GetCurrent();
WindowsPrincipal windowsPrincipal = new WindowsPrincipal(current);
return windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
}
二、设置程序获取管理员权限运行
在开发以管理员身份运行的程序时,需要获取管理员权限,可通过如下设置使程序获取管理员权限来运行。
1、在Visual Studio 中→解决方案资源管理器→右键项目名称→属性→“安全性”选项,勾选“ 启用ClickOnce安全设置 ”,如下图;
2、此时,在项目下面会多出一个“app.manifest”的文件,打开此文件,
1)找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />;
2)将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />;
3、修改后,再次打开“属性--安全性”界面,
将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。 不然程序会报错无法运行。
4、保存修改,重新编译运行程序。
打开程序时,会提示“用户账户控制”来获取管理员权限运行,点击“是”则获取了管理员权限。