WIN7/WIN8/WIN10, Vista提供的UAC机制,它的主要目的是防止对于操作系统本身的恶意修改。
对于Delphi程序的影响,UAC主要在于以下几点:
1、由于UAC机制,Delphi对于系统的操作可能无声的失败,而同样的程序,在2000/X下面可能运行正常。譬如注册表的改动。。。
2、为了避免这样的情况,Delphi程序必须支持Vista UAC标注,也就是说,在UAC程序的图标下面显示盾牌标志。这样可以在需要系统更高权限的时候,提醒用户。
为了让程序显示UAC标志,现在看来Vista是通过读取程序的资源(Resource)里面的MANIFEST资源,来决定是否显示“UAC盾牌”。
为了支持UAC,Delphi程序必须在资源里面嵌入MANIFEST信息。

1、首先编辑一个文件,内容如下:

<?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)才能正常运行。
 UAC Manifest 选项:

          <requestedExecutionLevel  level="asInvoker" uiAccess="false" /><requestedExecutionLevel  level="requireAdministrator" uiAccess="false" /><requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

2、然后编辑一个RC文件,名为uac.rc

1 24 UAC.manifest其中:<p>1-代表资源编号,24-资源类型为RTMAINIFEST,UAC.manifest-前面的文件名称
</p>

3、用brcc32编译这个rc文件为res文件

brcc32 uac.rc -fouac.res

其中 -fo 设置输出文件名
4、在Project程序里面加入:

{$R uac.res}

或者将3,4合并为:

{$R 'uac.res' 'uac.rc'},但是必须将uac.rc添加到项目中去。

让Delphi编译的时候,把uac.res编译进exe文件
程序图标下面显示UAC盾牌标志了。

5、注意,这个程序不能运行在subst 虚拟驱动器上,否则会提示“指定路径不存在”
6、在编译时若产生错误:在project->options->application->enable runtime themes前面的勾取消,再编译就可以了!

转载于:https://www.cnblogs.com/xieyunc/p/9126516.html

Delphi与Windows 7下的用户账户控制(UAC)机制相关推荐

  1. Delphi与Windows 7下的用户账户控制(UAC)机制(加小盾牌),注册表没反应

    WIN7, Vista提供的UAC机制,它的主要目的是防止对于操作系统本身的恶意修改. 对于Delphi程序的影响,UAC主要在于以下几点: 1.由于UAC机制,Delphi对于系统的操作可能无声的失 ...

  2. win8 必须重新启动计算机才能关闭用户账户控制,windows8中怎么关闭用户账户控制(UAC)仅针对单个用户...

    1.登陆 Windows 8 Metro 界面,单击左下角桌面图标,如下图: 2.登录桌面后,使用组合热键"Windows + X键"调出快捷菜单(如果桌面已经调出控制面板图标,直 ...

  3. win8 必须重新启动计算机才能关闭用户账户控制,Win8如何关闭用户账户控制(UAC)...

    Win8关闭用户账户控制(UAC)的方法如下: 1.登陆Windows 8 Metro界面,单击左下角桌面图标. 2.登录桌面后,使用组合热键"Windows + X键"调出快捷菜 ...

  4. 如何在Windows 8 中关闭用户账户控制(UAC)

    如何在Windows 8 中关闭用户账户控制(UAC) 适用范围: Windows 8 操作步骤: 1.登陆 Windows 8 Metro 界面,单击左下角桌面图标,如下图: 2.登录桌面后,使用组 ...

  5. 【Windows系统】好气,windows系统安装应用出现用户账户控制怎么办.

    在一个神奇的某一天里面,我突然很想听QQ音乐里面的某个歌曲,当天好开心的去官网下载了安装包,然后开开心心的去安装,打开安装包的瞬间,叮!出现了一个红色方框,当时瞬间一点都不开心咯,真可恶呀,这可是从官 ...

  6. Win8系统如何关闭用户账户控制UAC

    按WIN+S,屏幕右侧出现搜索框,在搜索框中输入UAC,然后单击"更改用户账户控制设置" 然后把弹出的窗口改成"从不通知"就可以了 转载于:https://ww ...

  7. windows老是弹出用户账户控制关闭方法

    control

  8. Windows7用户账户控制(UAC)白名单的设置

    Windows7下 UAC(User Account Control,用户帐户控制)是微软为提高系统安全而在Windows Vista中引入的新技术,它要求用户在执行可能会影响计算机运行的操作或执行更 ...

  9. 不出现用户帐户控制-让Win7的用户账户控制(UAC)放过信任的程序

    微软有个官方工具 Microsoft Application Compatibility Toolkit: http://www.microsoft.com/downloads/details.asp ...

最新文章

  1. dell服务器 win7系统安装教程,dell官方win7系统64位系统安装教程
  2. SDRAM芯片初始化、行有效、列读写时序(高手进阶,终极内存技术指南——完整/进阶版) ——本文为转载...
  3. 5.2 Redis商业版
  4. NHibernate1.2在VS2005里使用的基础
  5. Ubuntu16.04下PCL点云库的安装及使用demo
  6. centos安装python3、redis和虚拟环境
  7. Contains的使用,一点经验
  8. layui表格取消横向滚动条_layui表格固定表头统一处理方案
  9. 组态软件调用matlab,()基于OPC的组态软件和MATLAB的通信实现
  10. 网售鞋王Zappos的戏剧性成功:做到极致
  11. SMA、SMB、SMC封装的二极管尺寸区分
  12. word制作表格并打印
  13. cd linux制作u盘启动盘,【cdlinux u盘启动】cdlinux制作U盘启动盘详细教程
  14. MySQL的sql大于号(小于号)的使用
  15. css字体设置为白色,css怎么将字体设置成白色
  16. Hdu 1240 Asteroids题解
  17. 移动机顶盒搭建网页服务器,超级简单搭建自己的私人影视库
  18. DVD项目: 用面向对象的思想做DVD租赁系统
  19. python如何实现找图_python实现图片筛选程序
  20. 梦幻西游 python.dll,答疑第三期 | 使用 Airtest 最常见的 8 大问题

热门文章

  1. ImageField,FileField上传文件命名问题
  2. group by rollup
  3. 使用.Net 1.1的项目,TreeView控件不能正常显示
  4. mvcc原理_Mysql MVCC实现原理
  5. android实时声音信号波形_Android输出正弦波音频信号(左右声道对称)-阿里云开发者社区...
  6. RTree算法及介绍
  7. springmvc是什么_当一个http请求来临时,SpringMVC究竟偷偷帮你做了什么?
  8. LOAD DATA INFILE 语法
  9. mysql远程访问时间长无反应_远程MySQL访问需要很长时间
  10. 古老的spc也可以用机器学习(三)-支持向量机算法