首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#判断程序是不是以管理员身份运行,否则以管理员身份重新打开

2012-09-15 
C#判断程序是否以管理员身份运行,否则以管理员身份重新打开/// summary/// 判断程序是否是以管理员身份

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管理员身份运行,\n请手动使用Windows管理员身份运行");            }            InitializeComponent();        }

?

热点排行