Delphi編譯的程序如何獲取管理員權限

1.製做manifest文件ui

 1 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 2 <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 3 <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 4 <security>
 5 <requestedPrivileges>
 6 <requestedExecutionLevel level="requireAdministrator" uiAccess="false">
 7 </requestedExecutionLevel>
 8 </requestedPrivileges>
 9 </security>
10 </trustInfo>
11 <dependency>
12 <dependentAssembly>
13 <assemblyIdentity type="win32"
14 name="Microsoft.Windows.Common-Controls"
15 version="6.0.0.0"
16 processorArchitecture="x86"
17 publicKeyToken="6595b64144ccf1df"
18 language="*">
19 </assemblyIdentity>
20 </dependentAssembly>
21 </dependency>
22 </assembly>

用記事本保存爲:UAC.manifestspa

2.第二步對於D7和XE系列有差別。調試

(1)XE系列code

 

如上圖所示,選擇 Use custom manifest,而後選擇剛剛保存的文件。xml

這裏最好選擇All configurations,這樣不管是調試模式仍是release都支持了。blog

而後編譯工程,輸出exe文件。能夠看到小盾牌了。資源

運行程序,會彈出提權確認框:it

 

(2)Delphi 7io

D7裏面是沒有這個設置的,能夠經過資源文件來實現。asm

a.新建一個文件文件,輸入內容以下:

1 24 "UAC.manifest"

1-表明資源編號

24-資源類型爲RTMAINIFEST

將文件保存爲:uac.rc

b.將RC文件編譯爲資源文件

brcc32 uac.rc 

獲得uac.RES 文件,注意uac.rc的路徑。

c.修改工程文件(DPR)

在{$R *.RES}後面追加

{$R 'uac.RES'}

d.編譯工程文件,獲得EXE文件

小盾牌看見了吧?

運行EXE

提權確認框也彈出來了。
相關文章
相關標籤/搜索