zoukankan      html  css  js  c++  java
  • C#判断程序是否以管理员运行

        /// <summary>
             /// 判断程序是否是以管理员身份运行。
             /// </summary>
             public static bool IsRunAsAdmin()
             {
                 WindowsIdentity id = WindowsIdentity.GetCurrent();
                 WindowsPrincipal principal = new WindowsPrincipal(id);
                 return principal.IsInRole(WindowsBuiltInRole.Administrator);
             }

       //不是以管理员身份开启,则自动以管理员身份重新打开程序
       //写在构造里比较省资源
       public LoginFrm()
             {
                 try
                 {
                     //判断是否以管理员身份运行,不是则提示
                     if (!PublicUtil.IsRunAsAdmin())
                     {
                         ProcessStartInfo psi = new ProcessStartInfo();
                         psi.WorkingDirectory = Environment.CurrentDirectory;
                         psi.FileName = Application.ExecutablePath;
                         psi.UseShellExecute = true;
                         psi.Verb = "runas";
                         Process p = new Process();
                         p.StartInfo = psi;
                         p.Start();
                         Process.GetCurrentProcess().Kill();
                     }
                 }
                 catch (Exception ex)
                 {
                     ExceptionScheduler.ExceptionScheduler exceptionScheduler = new ExceptionScheduler.ExceptionScheduler(ex);
                     ShowMessageOnUI.ShowErrorMessage("程序无法获取Windows管理员身份运行, 请手动使用Windows管理员身份运行");
                 }
                 InitializeComponent();
             }

  • 相关阅读:
    Rabbitmq 不同系统 间 调用
    《 工作呀工作 之 excel 上传 》
    List 中删除 元素
    springboot jpa 的使用 二
    java中级面试题 之linux 与数据库
    java中级面试题 之基础篇
    git 操作
    eclipse 安装lombok插件
    瑞士轮
    Piggy-Bank
  • 原文地址:https://www.cnblogs.com/hrkblogs/p/9133154.html
Copyright © 2011-2022 走看看