在部分win7和win10上,现在加入了账户控制,有些程序如果要写注册表,如要开机自启动,需要程序以管理员身份运行。那如何在编译的时候就让程序以管理员身份运行呢?
1.右击项目-》属性-》安全性-》勾选启用ClickOnce安全设置-》这是完全可信的应用程序。如图所示:
2.属性中会多出app.mainfest文件,打开文件,将requestedExecutionLevel节点的level设为"requireAdministrator"
3.取消勾选【启用ClickOnce安全设置】,否则编译会出错
4.重新编译即可
程序中以用Process类启动该进程
Process process = new Process();
process.StartInfo.FileName = AppDomain.CurrentDomain.BaseDirectory + procName + ".exe";
process.StartInfo.UseShellExecute = true;
//设置启动动作,确保以管理员身份运行
process.StartInfo.Verb = "runas";
process.Start();