【C#教程】以管理员身份运行程序

1,649次阅读
5条评论

共计 909 个字符,预计需要花费 3 分钟才能阅读完成。

/**
 * 当前用户是管理员的时候,直接启动应用程序
 * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
*/
//获得当前登录的Windows用户标示
System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();
//创建Windows用户主题
Application.EnableVisualStyles();

System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);
//判断当前登录用户是否为管理员
if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))
{
    //如果是管理员,则直接运行

    Application.EnableVisualStyles();
    Application.Run(new Form1());
}
else
{
    //创建启动对象
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    //设置运行文件
    startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;
    //设置启动动作,确保以管理员身份运行
    startInfo.Verb = "runas";
    //如果不是管理员,则启动UAC
    System.Diagnostics.Process.Start(startInfo);
    //退出
    System.Windows.Forms.Application.Exit();
}

将这段代码粘贴至[code]Program.cs[/code]即可。

[v_error]注意替换黄色内容为自己窗体的类名[/v_error]

【C#教程】以管理员身份运行程序

运行效果

【C#教程】以管理员身份运行程序

正文完
 
lvshujun
版权声明:本站原创文章,由 lvshujun 2019-08-18发表,共计909字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请联系站长并注明出处。
评论(5条评论)
admin 博主
2020-03-30 16:09:34 回复

这是一条测试评论 ——admin

     中国浙江省杭州市电信
    admin 博主
    2020-03-30 16:10:06 回复

    @admin 这是一条测试子评论

         中国浙江省杭州市电信
      admin 博主
      2020-03-30 16:10:34 回复

      @admin 这是一条测试子子评论

           中国浙江省杭州市电信