Delphi编写的程序在Win7以上提升权限(以管理员身份运行)
Posted YanJinrong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi编写的程序在Win7以上提升权限(以管理员身份运行)相关的知识,希望对你有一定的参考价值。
Delphi程序要实现在win7下以管理员身份运行,必须潜入一个res文件,操作步骤如下:
1) 首先编辑一个文本文件,命名为*.manifest (例如uac.manifest)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<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>
保存为UAC.manifest,这里文件是随意的。特别注意红色的“requireAdministrator”,这个表示程序需要管理员(Administrator)才能正常运行。
2)然后新建一个文本文件,命名为*.rc(例如为uac.rc),内容如下所示:
1 24 UAC.manifest
其中:
1-代表资源编号
24-资源类型为RTMAINIFEST
UAC.manifest-前面的文件名称
3)将rc文件加入到项目中
将rc文件增加到项目中;(在项目文件上点击右键,然后选择add,加入rc文件)
4)build项目,生成文件在win7下,就会看程序图标下面显示UAC盾牌标志了;
此时运行程序,就会出现询问对话框了。
以上是关于Delphi编写的程序在Win7以上提升权限(以管理员身份运行)的主要内容,如果未能解决你的问题,请参考以下文章
判断当前进程是否以管理员权限运行(AllocateAndInitializeSid后,用CheckTokenMembership与AdministratorsGroup进行比较,和Delphi的那个例