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

1、首先编辑一个文件名为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)才能正常运行。
 UAC Manifest 选项
          <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
          <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
          <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

2、然后再新建一个编辑文件,名为uac.rc,加入下面一行内容:
1 24 UAC.manifest

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

3、用brcc32编译这个rc文件为res文件
brcc32 uac.rc -fouac.res
其中 -fo 设置输出文件名
4、打开Project菜单下的View Source菜单项或直接编辑项目的dpr文件,然后在
{$R *.res}
下面添加一行
{$R uac.res}
或者将3,4合并为 {$R 'uac.res' 'uac.rc'}

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

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

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

  1. Delphi与Windows 7下的用户账户控制(UAC)机制

    WIN7/WIN8/WIN10, 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. [收集] Web服务相关的, 介绍框架(framework)类的论文
  2. 图解JVM垃圾回收算法
  3. 自用 x86 GetProcAddress + GetModuleHandle
  4. 十七、深入Java的类
  5. [LoadRunner]UTF8字符格式
  6. webdriver高级应用- 无人工干预地自动下载某个文件
  7. 死锁Demo、线程通信Demo
  8. ecs服务器换系统,ecs服务器更换操作系统
  9. 美洽在线客服平台版接入说明专业版
  10. 【实战】通过命令行调用360杀毒软件接口对指定文件或文件夹杀毒
  11. 华为手机记事本导出_华为手机便签记事本怎么找到
  12. Google Safe Browsing API的使用
  13. Elasticsearch - Fuzzy query
  14. React:styled-components的使用
  15. android帧动画卡顿现象,css3针对移动端卡顿问题的解决(动画性能优化)
  16. margin:0 auto是什么意思
  17. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应, 请问,这个 Dao 接口的工作原理是什么?Dao 接口里的方法, 参数不同时,方法能重载吗?
  18. 网络创业者之家:在家就能做的兼职项目推荐
  19. js中对字符串的操作函数
  20. Linux下创建临时文件

热门文章

  1. Android NFC 标签读写Demo与历史漏洞概述
  2. 自己总结的Unity3d RPG网络游戏 UI逻辑 框架(基于NGUI)
  3. 云南师范大学计算机考研资料汇总
  4. 有限体积法(4)——一维扩散方程数值求解(第二类边界条件)
  5. 西部世界看IPFS落地应用:媒体、视频和游戏领域中的 Filecoin
  6. 大数据在金融领域的应用案例解析
  7. 测量地球半径的古希腊方法
  8. 10、Kafka 消息订阅系统
  9. 心目中的编程高手,经典计算机书籍作者介绍(部分,以后不定期更新)!
  10. 室内空气流动原理图_新风系统工作原理图—新风系统工作原理介绍