码迷,mamicode.com
首页 > Windows程序 > 详细

C#如何调用以管理员身份运行的cmd命令提示符

时间:2019-03-23 22:29:04      阅读:487      评论:0      收藏:0      [点我收藏+]

标签:生成   asi   无法运行   提示符   介绍   告诉   ted   属性   返回   

windows自从vista、win7、win8/8.1以及win10以来,命令行提示符分为两种模式,一种是普通用户模式,一种的管理员模式,很多情况下,我们的程序需要在命令提示符(管理员身份)的状况下运行,但是c#调用的时候一般都是普通用户的cmd命令,虽然可以通过右键 - 以管理员身份运行该软件,但是我们用c#开发的软件,不能告诉每一个用户让他们都以管理员身份运行吧?今天亦是美网络就给大家介绍一个简单的方法,轻松实现c#调用以管理员身份运行的命令提示符。

笔者的环境:win8.1专业版 64位 + visualstudio Ultimate 2013,开发环境选择的是.net framework4.0,(为了更好的兼容win7及以前的版本),同样适用于VS2015。

在开始之前,笔者也在网上苦苦搜寻了一些办法,但是使用较多的是是给cmd.exe指定运行目录:c:\windows\system32\cmd.exe,其实网上已经有人说了这种办法行不通,亦是美网络也亲自试验过,这种方法确实行不通,起码在笔者的环境下没有成功,那么我们采用下面的办法。

其实要以管理员的身份运行cmd命令提示符,我们只需要让c#开发的程序自身以管理员身份运行就可以了,我们打开visual studio - 解决方案资源管理器 -右键项目名称 - 属性 ,弹出下面的窗口:

技术图片

点击选择左侧的“安全性”,我们在“启用ClickOnce安全设置”前面打勾,然后再返回解决方案资源管理器界面,这时,在项目名称里的“Properties”下面会多出一个“app.manifest”的文件,如下图所示:

技术图片

我们点击选中它,看左侧窗口中代码,如下:

技术图片

我们找到代码段: <requestedExecutionLevel level="asInvoker" uiAccess="false" />,将其改为:<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

改过后,不要急于重新编译生成,我们重新返回上图那个界面,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行,不然程序会报错无法运行。

技术图片

按照上面的步骤设置以后,C#开发出来的程序就会自动以管理员身份的运行了,当然,它里面的命令提示符cmd也自动以管理员身份运行了。

 

出处:http://www.yishimei.cn/network/296.html

C#如何调用以管理员身份运行的cmd命令提示符

标签:生成   asi   无法运行   提示符   介绍   告诉   ted   属性   返回   

原文地址:https://www.cnblogs.com/mq0036/p/10585868.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!