就像大家使用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++編譯出來的程序裡面實現申請管理員權限那個功能了。