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命令提示符的更多相关文章

  1. C#如何以管理员身份运行程序

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

  2. C#编译成以管理员身份运行程序

    转载自:http://www.cnblogs.com/babycool/p/3569183.html 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理 ...

  3. C#如何以管理员身份运行程序 转

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

  4. C# 管理员身份运行程序

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

  5. highestAvailable比较灵活,毕竟大多数功能不需要系统最高权限(四种方法:屏蔽UAC,右键以管理员身份运行,增加manisfest,制作数字证书)

    打开VS2005.VS2008.VS2010工程,查看工程文件夹中的Properties文件夹下是否有app.manifest这个文件:如没有,按如下方式创建:鼠标右击工程在菜单中选择“属性”,点击工 ...

  6. C#如何以管理员身份运行程序(转)

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

  7. Linux中的普通命令如何以管理员身份运行

    set uid, gid, sticky bit 权限 一个文件都有一个所有者, 表示该文件是谁创建的.同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.如果是一个可执行 ...

  8. windows 以管理员身份运行 代码

    1 // 以管理员身份运行本进程 2 // 1 获取本进程的文件路径. 3 TCHAR path[MAX_PATH] = { 0 }; // 需要初始化 4 DWORD dwPathSize = MA ...

  9. CMD批处理(5)——自动以管理员身份运行批处理脚本

    在日常运维工作中,为方便对windows用户进行系统安装或配置等,使用Windows自带的批处理(bat文件)是一种最为简单快速的方法. 批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名 ...

随机推荐

  1. ESP系列MQTT数据通信

    1.使用一个深圳四博智联科技有限公司的NODEMCU开发板. 2.下载MQTT的SDK压缩包,请查看附件. 3.用官方提供的Eclipse打开MQTT的sdk开发包. 4.打开include文件夹中的 ...

  2. Properties类

    简介: Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这 ...

  3. ES6标准入门读书笔记

    第一章  基础 1.let和const命令 (1).let用于声明变量,所声明的变量只在当前代码块有效 特点:不存在变量提升     所以在变量声明之前就使用会报错 暂时性死区           只 ...

  4. shell练习题6

    需求如下: 有日志access.log,部分内容如下: 127.0.0.1 - - [03/Jul/2018:00:00:01 +0800] "GET / HTTP/1.1" 20 ...

  5. jQuery 入口函数主要有4种写法

    jqery  入口函数主要有4种写法,其中以第3种方法最为方便. <!DOCTYPE html> <html lang="en"> <head> ...

  6. oracle 建表默认空间

    oralce 建表后会有默认表空间,如果没有指定表空间会把所有信息放到users表空间内.要改默认空间 ,首先当前用户要有权限,然后按照 alter database 表名 tablespace 表空 ...

  7. NHibernate4使用Oracle.ManagedDataAccess.dll连接oracle及配置多个数据库连接

    NHibernate数据库配置参数在hibernate.cfg.xml中 <?xml version="1.0" encoding="utf-8"?> ...

  8. BUAAOO P1-P3 Expression Dirivation

    目录 1.问题描述 1.1.概念定义 7.程序度量 8.知识点笔记 1.运行 2.1.方法 2.2.检测相等性 2.3.空串与null串 2.4.使用StringBuilder构建字符串 2.5.使用 ...

  9. java中对类中成员的排序

    要求:编写一个程序.程序中定义一个类circle,其中有数据成员radius:创建一个有5个circle型元素的数组,其radius值分别为2.10.8.4.121.调用Arrays.sort()给这 ...

  10. 【oacle入门】表空间类型

    系统表空间 系统表空间包括SYSTEM和SYSAUX表空间,系统表空间是所有数据库必须且自动创建的,一般存放在Oracle的数据字典表及相应数据. 永久表空间 永久表空间用户保存永久性数据,如系统数据 ...