首页 > 代码库 > C#以管理员身份运行程序

C#以管理员身份运行程序

代码:

using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;namespace MyWebBrowser{    static class Program    {        /// <summary>        /// 应用程序的主入口点。        /// </summary>        [STAThread]        static void Main()        {            //获得当前登录的Windows用户标示             System.Security.Principal.WindowsIdentity identity = System.Security.Principal.WindowsIdentity.GetCurrent();            System.Security.Principal.WindowsPrincipal principal = new System.Security.Principal.WindowsPrincipal(identity);            //判断当前登录用户是否为管理员             if (principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator))            {                //如果是管理员,则直接运行                 Application.EnableVisualStyles();                Application.SetCompatibleTextRenderingDefault(false);                Application.Run(new Form1());            }            else            {                //创建启动对象                 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();                //设置运行文件                 startInfo.FileName = System.Windows.Forms.Application.ExecutablePath;                //设置启动动作,确保以管理员身份运行                 startInfo.Verb = "runas";                //如果不是管理员,则启动UAC                 System.Diagnostics.Process.Start(startInfo);                //退出                 System.Windows.Forms.Application.Exit();            }        }    }}
View Code

 

C#以管理员身份运行程序