C++中应用程序获得管理员权限运行(图标带盾牌)

在Windows Vista及更高版本中,为确保程序以管理员权限运行,可通过在C++项目中添加UAC标注来实现。这有助于防止未经授权的系统修改,并强制用户以管理员身份运行程序。Visual Studio用户可以通过两种方法实现此目标:一是调整VS快捷方式和项目属性,二是创建并添加清单文件设置requireAdministrator执行级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在vista以后的windows版本中,有些时候需要提升编译后生成程序的权限,即希望让生成的程序以管理员身份运行。虽然在一般情况下,可以使用鼠标右键选择的方式来强行以管理员身份运行,但它并没有屏蔽普通运行方式,而且普通人通常也不会使用右键选择以管理员身份运行,所以必须在生成程序时就限定程序只能以管理员方式来运行。

 

    先简单说一下,在vista以后的windows版本中,微软引入了UAC机制,它的目的是防止程序对操作系统本身进行恶意篡改。要让程序以管理员身份运行,就需要在程序中引入UAC标注,也即让程序显示“UAC盾牌”。

 

以下是以visual studio为例

方法一:

用vs设置一下就好,vs自动完成方法二的事情

   1 找到VS2010的快捷方式:右击——“打开文件位置”,找到VS2010的启动项目devenv.exe:右击——属性——兼容性——特权等级,以管理员权限运行;如果需要每个用户都以管理员权限运行,还可以“更改所有用户的设置”——特权等级,以管理员权限运行。然后在项目的打开方式中确保以VS2010为默认打开程序就好了。

  2 属性--连接器--清单文件-》UAC执行级别-》requireAdministrator (/level='requireAdministrator')

方法二:

    清单文件:建立如app.mainfest的清单文件,在项目(属性--连接器--清单文件)添加清单文件

&l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值