就像大家使用Vista优化大师或者Windows磁盘整理大师那样,如果开启了UAC用户账户控制系统,那么图标上面都会有个盾牌小图标,而且在运行的时候,也会提示需要管理员权限。这些,是怎么做到的呢?
对于VC程序员来说,这个过程其实并不复杂,大家看下下面的代码:
///////// 本行以下为代码,不含本行
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<assembly xmlns=”urn:schemas-microsoft-com:asm.v1″ manifestVersion=”1.0″>
<assemblyIdentity
version=”1.0.0.0″
processorArchitecture=”X86″
name=”test.exe.manifest”
type=”win32″
/>
<trustInfo xmlns=”urn:schemas-microsoft-com:asm.v3″>
<security>
<requestedPrivileges>
<requestedExecutionLevel level=”requireAdministrator” uiAccess=”false”/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
///////// 本行以上位代码,不含本行
该代码添加到VC资源中即可, 添加方式:
添加一个“custom”资源,”resource type”填24,把资源ID改为1
如果只有一个可执行文件,也可以通过以下方法添加:
mt.exe -manifest e4nmgr.exe.manifest -outputresource:e4nmgr.exe;1
这样,就可以在C++编译出来的程序里面实现申请管理员权限那个功能了。