C# 程序获取管理员权限
时间: 2023-09-17 08:14:26 浏览: 211
在 C# 中获取管理员权限,可以使用以下代码:
```
using System.Diagnostics;
using System.Security.Principal;
// 检查当前用户是否为管理员
WindowsIdentity identity = WindowsIdentity.GetCurrent();
WindowsPrincipal principal = new WindowsPrincipal(identity);
bool isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
// 如果当前用户不是管理员,则重新启动程序并请求管理员权限
if (!isAdmin)
{
// 获取当前程序路径
string fileName = Process.GetCurrentProcess().MainModule.FileName;
// 创建启动信息
ProcessStartInfo startInfo = new ProcessStartInfo(fileName);
startInfo.Verb = "runas"; // 请求管理员权限
startInfo.UseShellExecute = true;
// 重新启动程序
Process.Start(startInfo);
Environment.Exit(0);
}
```
该代码会检查当前用户是否为管理员,如果不是,则使用 `ProcessStartInfo` 类重新启动程序并请求管理员权限。需要注意的是,如果程序是以管理员身份启动的,则无需重新启动程序。
阅读全文