当前位置: 移动技术网 > IT编程>开发语言>c# > C#中用管理员身份运行程序代码实例

C#中用管理员身份运行程序代码实例

2019年07月18日  | 移动技术网IT编程  | 我要评论
using system; using system.collections.generic; using system.linq; using system
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();

      }

    }

  }

}
  

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网