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

  • 相关阅读:
    Spring 实例化bean的三种方式
    Mybatis和Hibernate比较
    MyBatis学习总结(一)——MyBatis快速入门
    Java EE的十三个规范
    Python 测试代码覆盖率统计工具 coverage.py
    mysql explain执行计划详解
    Django模型的Field Types
    使程序在Linux下后台运行,程序运行前后台切换
    ubuntu中将本地文件上传到服务器
    Python-内置函数小结
  • 原文地址:https://www.cnblogs.com/hrkblogs/p/9133154.html
Copyright © 2011-2022 走看看