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

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

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

时间: 2024-08-12 06:38:21

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

C# 管理员身份运行程序

在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理员身份运行才会执行成功,否则无效果或提示错误. 比如在通过winform程序执行cmd命令时,某些情况下如果不是以管理员身份运行,则会提示命令无效. 或者通过winform程序执行Windows Service 服务时,也需要以管理员身份才能调用Service服务. 下面讲解一下如何使程序获取管理员权限来运行. 一: 在Visual Studio 中--解决方案资源管理器--右键项目名称--属性,找

windows 以管理员身份运行 代码

1 // 以管理员身份运行本进程 2 // 1 获取本进程的文件路径. 3 TCHAR path[MAX_PATH] = { 0 }; // 需要初始化 4 DWORD dwPathSize = MAX_PATH; 5 QueryFullProcessImageName(GetCurrentProcess(), 0, 6 path, 7 &dwPathSize); 8 9 // 2 调用创建进程的API运行本进程. 10 ShellExecute(NULL, // 窗口句柄,没有则填NULL 1

VS编译的可执行默认以管理员身份运行

文如其名,很多程序如果不以管理员身份运行的话无法操作到系统盘的一些文件,有些更加严重的是会在运行过程中直接报错,虽说可以通过修改该可执行文件的属性,设置其默认执行权限为"以管理员身份运行",然这毕竟麻烦,且很多用户根本就不会这么去做,是故让程序执行时就自己去要求管理员权限是最终的解决方法. 在VS下面,这个问题其实很好解决,就是做如下操作:右键工程名称选择属性->配置属性->链接器->清单文件->UAC执行级别 在下拉列表框中选择:requireAdminist

win7如何设置以管理员身份运行

一.对所有程序以管理员身份运行 1.右键单击桌面“计算机”,选择“管理” 2.在页面左侧,依此打开“计算机管理(本地)→ 系统工具→本地用户和组→用户”,在右侧找到“Administrator”,双击打开 3.在打开页面选择常规栏目,去掉“账户已禁用”前的“√”,点击应用,确定. 二.对部分快捷方式软件以管理员身份运行 1.在快捷方式图标,右键点击,选择属性 2.在打开页面,选择快捷方式栏目,点击下方的“高级”按钮 3.打开页面中,选择“以管理员身份运行”,前面打“√”,应用,确定 三.对部分程

以管理员身份运行cmd

运行cmd和以管理员身份运行cmd是不同的.有时候我们需要使用管理员身份运行cmd才能达到效果. 对于直接运行cmd,即 windows + R ,然后输入cmd, 回车即可运行之. 对于以管理员身份运行cmd, 需要进入c盘--Windows--System32,然后找到cmd.exe,右键选择“以管理员身份运行”即可.

实现管理员身份运行软件

针对WPF软件启动使用代码控制以管理员身份运行: 1.app.manifest配置文件 修改UAC 清单选项中requestedExecutionLevel 节点,将会禁用文件和注册表虚拟化. <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3&quo

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

c#通过app.manifest使程序以管理员身份运行 时间:2013-06-27 22:47来源:网络收集+本站整理 作者:jtydl 点击: 1175 次 微软在Windows Vista开始引入了UAC(用户帐户控制)新技术(点击这儿了解什么是UAC).当程序执行时需要权限的话,UAC会弹出警告消息:让用户确认是否同意允许这个程序改变你的计算机配置,windows需要得到你的许可才可以让程序继续执行下去. 通常我们使用c 微软在Windows Vista开始引入了UAC(用户帐户控制)新技

c#程序以管理员身份运行(三种办法)

三种办法: 一.设置程序本身的属性:勾选"以管理员身份运行此程序",必要时设置"更改所有用户设置-以管理员身份运行此程序",当然这种办法是被动的,也不是最实际的办法: 二.代码法: static void Main(string[] Args) { /** * 当前用户是管理员的时候,直接启动应用程序 * 如果不是管理员,则使用启动对象启动程序,以确保使用管理员身份运行 */ //获得当前登录的Windows用户标示 System.Security.Principa

截图工具,更改系统默认快捷键,系统配置实用程序,以管理员身份运行cmd(win7)

截图工具: 开始--附件--右键发送到桌面快捷方式---桌面截图工具右键属性--快捷方式 更改系统默认快捷键: 控制面板--外观和个性化--调整屏幕分辨率--高级设置---英特尔图形和媒体控制面板---图形属性---选项和支持----将快捷键前的启用改为禁用 系统配置实用程序 msconfig  是在开始菜单里运行中输入然后确认就可以找到程序开启或者禁用,它可以帮具你禁止不需要运行的程序 以管理员身份运行cmd: Cmd出现系统错误5,拒绝访问!可能原因:用户的操作权限太低了, 解决:用管理员身