• 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();
             }

  • 相关阅读:
    T2487 公交司机(搜索题)(小L的一生)
    T2485 汉诺塔升级版(普及)(递归)
    T2483 电梯(模拟题)
    将图片返回到前端
    session
    TCP协议
    socket
    断点调试
    解析字符串
    Cookie
  • 原文地址:https://www.cnblogs.com/hrkblogs/p/9133154.html
Copyright © 2020-2023  润新知