首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何让Delphi程序启动自动“以管理员身份运行"

如何让Delphi程序启动自动“以管理员身份运行"

作者头像
战神伽罗
发布2019-07-24 10:22:42
2.2K0
发布2019-07-24 10:22:42
举报
   由于Vista以后win中加入的UAC安全机制,采用Delphi开发的程序如果不右键点击“以管理员身份运行”,则会报错。
   在XE2以上的Delphi版本处理这个问题已经非常简单了。
   右建点击工程,选择“Options”->“Applicaion”下,将Runtime themes项设置为“Use Custom manifest”,点击下方按钮,选择相应的Manifest文件即可。
   需要注意的是:Debug和Release模式不同,要进行同样设置
   至于Manifest文件,也就是一个XML文档,原文如下:
 <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>
   XE2以前的版本解决办法,将上面的xml内容保存为UAC.manifest
 然后编辑一个RC文件,名称为uac.rc 如下所示:
1 24 UAC.manifest 
其中: 
1-代表资源编号 
24-资源类型为RTMAINIFEST 
UAC.manifest-前面的文件名称

用brcc32编译这个rc文件为res文件,如下所示:

brcc32 uac.rc -fouac.res 

在程序里面加入

{$R uac.res} 
  让Delphi编译的时候,把uac.res编译进exe文件
  把文件放到vista或win7下运行,就会看程序图标下面显示UAC盾牌标志了。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档