欢迎来到天天文库
浏览记录
ID:52561338
大小:24.00 KB
页数:2页
时间:2020-03-28
《C#控制程序以管理员身份运行的方法.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、有些程序功能需要以管理员身份才能运行,以下设置能够让程序在运行过程中取得管理员身份,供参考。方法一在项目工程下添加一个“应用程序清单文件”,默认名为“app.manifest”,将其中“”的level="asInvoker"改为level="requireAdministrator"即可,重新编译生成exe。方法二通过代码实现,在代码中调用所要运行的EXE,设置其权限为管理员:staticvoidMain(string[]Args){/***当前用户是管理员的时候
2、,直接启动应用程序*如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行*///获得当前登录的Windows用户标示System.Security.Principal.WindowsIdentityidentity=System.Security.Principal.WindowsIdentity.GetCurrent();//创建Windows用户主题Application.EnableVisualStyles();System.Security.Principal.WindowsPrincipalprincipal=newSystem.Security.Princ
3、ipal.WindowsPrincipal(identity);//判断当前登录用户是否为管理员if(principal.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator)){//如果是管理员,则直接运行Application.EnableVisualStyles();Application.Run(newForm1());}else{//创建启动对象System.Diagnostics.ProcessStartInfostartInfo=newSystem.Diagnostics.Proces
4、sStartInfo();//设置运行文件startInfo.FileName=System.Windows.Forms.Application.ExecutablePath;//设置启动参数startInfo.Arguments=String.Join("",Args);//设置启动动作,确保以管理员身份运行startInfo.Verb="runas";//如果不是管理员,则启动UACSystem.Diagnostics.Process.Start(startInfo);//退出System.Windows.Forms.Application.Exit();}}
此文档下载收益归作者所有