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();
            }
  • 相关阅读:
    贪心策略---不重叠的区间个数
    贪心策略---分配饼干
    双指针---最长子序列
    双指针---回文字符串
    双指针---反转字符串中的元音字符
    双指针---两数平方和
    双指针---有序数组的TWO SUM
    排序---小结
    排序---桶排序
    变量的解构赋值
  • 原文地址:https://www.cnblogs.com/tianma3798/p/3662552.html
Copyright © 2011-2022 走看看