Delphi 7 vista/windows 7 manifest

前端之家收集整理的这篇文章主要介绍了Delphi 7 vista/windows 7 manifest前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有人会有一个Delphi 7的清单文件的例子,允许应用程序作为管理员在Windows XP / Vista / 7上运行?

使用此功能运行应用程序通常会导致一个User Account Control (UAC)对话框,要求获得特权。

解决方法

以下是步骤:

1.删​​除XPMan:删除项目中对XPMan组件的任何引用。 XPMan向可执行文件添加了一个默认清单,阻止Windows查看我们的自定义清单。您不应该担心由XPMan提供的XP主题主题支持保留在以下清单中。

2.创建自定义清单:在项目目录中创建一个像Win7UAC.manifest一样的文件(文件名不重要)。添加以下行到Win7UAC.manifest:

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  3. <assemblyIdentity type="win32" name="App" version="3.1.0.0" processorArchitecture="*"/>
  4. <dependency>
  5. <dependentAssembly>
  6. <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
  7. </dependentAssembly>
  8. </dependency>
  9. <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  10. <security>
  11. <requestedPrivileges>
  12. <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
  13. </requestedPrivileges>
  14. </security>
  15. </trustInfo>
  16. <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
  17. <application>
  18. <!--The ID below indicates application support for Windows Vista -->
  19. <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
  20. <!--The ID below indicates application support for Windows 7 -->
  21. <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
  22. </application>
  23. </compatibility>
  24. </assembly>

您可以向此清单添加更多项目。您也可以删除Microsoft.Windows.Common-Controls部件以禁用主题支持

3.将清单编译为资源:在项目目录中创建一个名为Win7UAC.rc的文件,其中包含一行:

  1. 1 24 "Win7UAC.manifest"

要编译此文件,请转到cmd,指向项目目录并运行以下命令:

  1. brcc32.exe Win7UAC.rc

4.将资源(清单)添加到项目中:只需在项目的一个单元文件中的任意位置添加以下行:

  1. {$R 'Win7UAC.res'}

添加此行的合适位置在项目主文件(通常称为Project1.dpr)中,并位于{$ R * .res}行下。

5.重建项目

6.记住每当将XPMan组件添加到任何项目单元时,此UAC清单将无法正常工作。

猜你在找的Delphi相关文章