
-
-
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace ConsoleApplication17
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Application.EnableVisualStyles();
- //Application.SetCompatibleTextRenderingDefault(false);
-
- /**
- * 当前用户是管理员的时候,直接启动应用程序
- * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
- */
- //获得当前登录的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))
- {
- //如果是管理员,则直接运行
- Console.WriteLine("是管理员身份运行");
- Console.Read();
- }
- else
- {
- //如果是管理员,则直接运行
- Console.WriteLine("不是管理员身份运行");
- //创建启动对象
- System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
- startInfo.UseShellExecute = true;
- startInfo.WorkingDirectory = Environment.CurrentDirectory;
- //自己写入自己的程序路径
- startInfo.FileName = Environment.CurrentDirectory + "//ConsoleApplication17.exe";
- //设置启动动作,确保以管理员身份运行
- startInfo.Verb = "runas";
- try
- {
- System.Diagnostics.Process.Start(startInfo);
- }
- catch
- {
- return;
- }
- //退出
- //Application.Exit();
- }
-
- }
- }
- }
评价