码迷,mamicode.com
首页 > Windows程序 > 详细

WINFORM 应用程序管理员身份执行

时间:2017-08-25 13:51:20      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:detail   http   mini   use   blog   启动   star   ini   div   

 /**
* 当前用户是管理员的时候,直接启动应用程序
* 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
*/
//获得当前登录的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.Run(new Form1());
}
else
{
    //创建启动对象
    System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
    startInfo.UseShellExecute = true;
    startInfo.WorkingDirectory = Environment.CurrentDirectory;
    startInfo.FileName = Application.ExecutablePath;
    //设置启动动作,确保以管理员身份运行
    startInfo.Verb = "runas";
    try
    {
    System.Diagnostics.Process.Start(startInfo);
     }
     catch
     {
          return;
      }
       //退出
       Application.Exit();
}

WINFORM 应用程序管理员身份执行

标签:detail   http   mini   use   blog   启动   star   ini   div   

原文地址:http://www.cnblogs.com/sunlyk/p/7427300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!