900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 在Windows 7 下使用Visual Studio 编写自动申请管理员权限运行的程序

在Windows 7 下使用Visual Studio 编写自动申请管理员权限运行的程序

时间:2019-10-29 18:44:21

相关推荐

在Windows 7 下使用Visual Studio  编写自动申请管理员权限运行的程序

自从Vista推出UAC之后,遇到程序需要执行一些高安全级别的操作的时候就需要系统管理员权限,如何让自己写的程序能够自动向系统申请管理员执行权限,也就是在程序的图标上出现一个小盾牌的图标呢,使用Visual Studio 可以很方便的做到这一点。具体步骤如下:

1、在项目中增加一个Application Manifest File

2、打开新增加的app.manifest文件,文件的内容如下:

app.mainfest<?xmlversion="1.0"encoding="utf-8"?>

<asmv1:assemblymanifestVersion="1.0"xmlns="urn:schemas-microsoft-com:asm.v1"xmlns:asmv1="urn:schemas-microsoft-com:asm.v1"xmlns:asmv2="urn:schemas-microsoft-com:asm.v2"xmlns:xsi="/2001/XMLSchema-instance">

<assemblyIdentityversion="1.0.0.0"name="MyApplication.app"/>

<trustInfoxmlns="urn:schemas-microsoft-com:asm.v2">

<security>

<requestedPrivilegesxmlns="urn:schemas-microsoft-com:asm.v3">

<!--UACManifestOptions

IfyouwanttochangetheWindowsUserAccountControllevelreplacethe

requestedExecutionLevelnodewithoneofthefollowing.

<requestedExecutionLevellevel="asInvoker"uiAccess="false"/>

<requestedExecutionLevellevel="requireAdministrator"uiAccess="false"/>

<requestedExecutionLevellevel="highestAvailable"uiAccess="false"/>

SpecifyingrequestedExecutionLevelnodewilldisablefileandregistryvirtualization.

IfyouwanttoutilizeFileandRegistryVirtualizationforbackward

compatibilitythendeletetherequestedExecutionLevelnode.

-->

<requestedExecutionLevellevel="requireAdministrator"uiAccess="false"/>

</requestedPrivileges>

</security>

</trustInfo>

<compatibilityxmlns="urn:schemas-microsoft-com:compatibility.v1">

<application>

<!--AlistofallWindowsversionsthatthisapplicationisdesignedtoworkwith.Windowswillautomaticallyselectthemostcompatibleenvironment.-->

<!--IfyourapplicationisdesignedtoworkwithWindows7,uncommentthefollowingsupportedOSnode-->

<!--<supportedOSId="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->

</application>

</compatibility>

<!--EnablethemesforWindowscommoncontrolsanddialogs(WindowsXPandlater)-->

<!--<dependency>

<dependentAssembly>

<assemblyIdentity

type="win32"

name="mon-Controls"

version="6.0.0.0"

processorArchitecture="*"

publicKeyToken="6595b64144ccf1df"

language="*"

/>

</dependentAssembly>

</dependency>-->

</asmv1:assembly>

3、把<requestedPrivileges〉节中的配置项<requestedExecutionLevel level=" asInvoker" uiAccess="false" />改为<requestedExecutionLevel level=" requireAdministrator " uiAccess="false" />

4、重新编译程序,编译好后的程序图标上就会出现一个小盾牌,就可以以管理员身份启动了。

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