C# 管理员身份运行程序

Posted Masonlu

tags:

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

在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误。

     比如在通过winform程序执行cmd命令时,某些情况下如果不是以管理员身份运行,则会提示命令无效。

     或者通过winform程序执行Windows Service 服务时,也需要以管理员身份才能调用Service服务。

下面讲解一下如何使程序获取管理员权限来运行。

一: 在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找到“安全性”选项,

二:勾选“启用ClickOnce安全设置”,

三:这时,在项目下面会多出一个“app.manifest”的文件,选中它,并找到代码段<requestedExecutionLevel level="asInvoker" uiAccess="false" />,将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />,

打开:

将上图部分修改为:

四:改正后,不要急于重新编译生成,再次打开“属性--安全性”界面,

将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。 不然程序会报错无法运行。

 

五:最后,保存修改,重新编译运行程序。

打开程序时,会提示“用户账户控制”来获取管理员权限运行,点击“是”则获取了管理员权限。

以上是关于C# 管理员身份运行程序的主要内容,如果未能解决你的问题,请参考以下文章

C#程序以管理员身份运行

如何使用 C# 运行远程计算机程序“以管理员身份运行”

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

C#让程序以管理员身份运行程序

LocalSystem 服务如何以用户身份运行应用程序 [C#]?

c#通过app.manifest使程序以管理员身份运行