C#中用管理员身份运行程序代码实例
程序员文章站
2023-12-13 20:36:40
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(); } } } }