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

Posted Lanny Priest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WINFORM 应用程序管理员身份执行相关的知识,希望对你有一定的参考价值。

 /**
* 当前用户是管理员的时候,直接启动应用程序
* 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行
*/
//获得当前登录的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 应用程序管理员身份执行的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform 应用程序仅以管理员身份运行

[Winform]默认以管理员身份运行程序

将所发布的WinFrom程序以管理员身份运行

C# winform 怎么以管理员身份打开第三方APP

vs开发 winform 设置winform 获取管理员权限启动

在Winform程序中设置管理员权限及为用户组添加写入权限