Delphi · 2024年1月12日

Delphi开发应用程序自动获取管理员权限的方法

用户账户控制User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。

应用程序一般都要进行文件操作、内存访问等,所以一般都需要获取管理员权限以获得相应的权限

建立一个UAC.manifest文件

文件内容如下,将其保存为UAC.manifest,并放入代码目录

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Pascal

编译器(DelphiXE10.3)中设置文件的调用

设置路径:Project->Application->Manifest File ; Manifest File选择Custom,并在Custom manifest路径中设置上步中保存的UAC.manifest;然后重新编译程序即可