zoukankan      html  css  js  c++  java
  • 让Delphi XE2程序支持UAC

    在win7下,开发的程序有的时候莫名其妙就不能正常工作了,其实都是因为权限不够,要想能够正常运行,就需要获得管理员权限,这就需要处理UAC。具体方法如下:

    一,制作“uac.manifest”文件。新建一个名为“uac.manifest”的文件,在里面加入如下内容:

    [plain] view plain copy
     
    1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
    2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">  
    3. <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">  
    4. <security>  
    5. <requestedPrivileges>  
    6. <requestedExecutionLevel level="requireAdministrator" uiAccess="false">  
    7. </requestedExecutionLevel>  
    8. </requestedPrivileges>  
    9. </security>  
    10. </trustInfo>  
    11. <dependency>  
    12. <dependentAssembly>  
    13. <assemblyIdentity type="win32"  
    14. name="Microsoft.Windows.Common-Controls"  
    15. version="6.0.0.0"  
    16. processorArchitecture="x86"  
    17. publicKeyToken="6595b64144ccf1df"  
    18. language="*">  
    19. </assemblyIdentity>  
    20. </dependentAssembly>  
    21. </dependency>  
    22. </assembly>  

    二,设置XE2工程属性。Project->Options->Application->Runtime Themes->Use custom manifest,随后选择"uac.manifest"文件,点”OK“按钮,随后编译程序,这样我们的程序就在运行时候会提示用户提升权限,在运行时的对话框中选择”是“,我们的程序就拥有了管理员权限,有足够权限做我们想做的事情了。

    UAC很有意思的地方:

    1,如果一个拥有UAC权限的程序运行后,这个程序再执行需要UAC权限的程序,也不会再出现UAC提示了。

    2,如果一个拥有UAC权限的程序运行后,把一个需要UAC权限的程序注册成NT Service程序,这个NT Service程序运行不在出现UAC提示。

    参考:

    http://hi.baidu.com/mestars/item/bef02c1653b3426e70d5e861

    http://blog.csdn.net/sunylat/article/details/9093379

  • 相关阅读:
    lightoj-1047
    lightoj-1044
    lightoj-1045
    lightoj-1082
    LeetCode偶尔一题 —— 19. 删除链表的倒数第N个节点
    Python 3.52官方文档翻译 http://usyiyi.cn/translate/python_352/library/index.html 必看!
    Python3 time模块
    JavaScript CSS 等前端推荐
    Python之 七级字典查询
    将Sublime Text 3设置为Python全栈开发环境(转一个链接)
  • 原文地址:https://www.cnblogs.com/findumars/p/5236980.html
Copyright © 2011-2022 走看看