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

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

笔者的环境:win8.1专业版 64 + visualstudioUltimate 2013,开发环境选择的是.net framework4.0,(为了更好的兼容win7及以前的版本)

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

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

默认打开的就是“安全性”,我们在“启用ClickOnce安全设置”前面打勾,然后再返回解决方案资源管理器界面,这时,在项目名称下面会多出一个“app.manifest”的文件,我们选中它,找到代码段: <requestedExecutionLevellevel="asInvoker" uiAccess="false" />,将其改为:<requestedExecutionLevellevel="requireAdministrator" uiAccess="false" />,改过后,不要急于重新编译生成,我们重新返回上图那个界面,将“启用ClickOnce安全设置”前面的勾去掉后再编译运行,不然程序会报错无法运行。

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

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




展开阅读全文

没有更多推荐了,返回首页