1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C++中应用程序获得管理员权限运行(图标带盾牌)

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

时间:2018-12-27 05:55:20

相关推荐

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

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

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

以下是以visual studio为例

方法一:

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

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

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

方法二:

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

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><assemblyIdentityversion="1.0.0.0" processorArchitecture="X86" name="VistaLogoDemo" type="win32"/><description>Description of your application</description><!-- Identify the application security requirements.--><trustInfoxmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevellevel="requireAdministrator" uiAccess="false"/></requestedPrivileges></security></trustInfo></assembly>

参考:

/docs/share/5c5a8167-7b70-4ab2-bec9-b1a69024f3f5

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。