如何添加清单<;请求的特权>;delphi项目中的信息
向Delphi XE项目(.exe)添加清单信息的最简单方法是什么 是否可以只添加所需的节点,如:如何添加清单<;请求的特权>;delphi项目中的信息,delphi,uac,manifest,delphi-xe,Delphi,Uac,Manifest,Delphi Xe,向Delphi XE项目(.exe)添加清单信息的最简单方法是什么 是否可以只添加所需的节点,如: <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator"/> </requestedPrivileges> 或者我必须添加整个清单文件,比如 <?xml version="1.0" encoding="UTF-8" standalone="yes
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
或者我必须添加整个清单文件,比如
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="VistaLogonCustomizer.exe" type="*"/>
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>
提高执行水平
如果我必须添加整个清单文件,那么我是否与内置manfest文件(当项目选项“激活运行时主题”设置为true时生成)存在冲突?以下是一些链接
以下是步骤:
使用以下命令将此文本文件命名为YourApplicationName.RC
命令行执行以下命令:
brcc32 YourApplicationName.RC-foYourApplicationName.REC
这将创建一个名为YourApplicationName.REC Copy的新资源文件
将YourApplicationName.REC文件插入到
应用将此资源文件包括到应用程序的DPR中
如下所示:
{$R YourApplicationName.REC}最终构建您的应用程序-现在可以获得管理员权限了
是否可以只添加所需的节点
绝对不是。清单是一个XML文档,XML文档必须格式良好。
以下是XML架构描述:
请注意所需的元素和属性。您应该添加整个清单。您需要在项目中禁用IDE生成的版本
这样做的好处是,您将拥有对清单的完全和透明的控制。例如,您可能希望添加一个支持DPI的条目,以便您的应用程序在更高的字体缩放值下看起来更好。您必须添加整个清单,并且必须禁用“激活运行时主题”。您可以使用资源编译器编译它,也可以包含一个单独的.manifest文件。我今天感觉很紧张。你能解释一下这些链接是如何回答这个问题的吗?在这里总结它们的内容,或者指出这些文章中的哪些部分对当前任务最重要。不需要(也不应该要求任何开发环境)转到命令提示符或运行单独的命令。只需将资源脚本添加到项目中(project->add to project->
wumpa.rc
->Open)。Delphi现在将编译资源脚本。另外请注意,资源脚本文件可以根据需要调用。我们总是称它为wumpa.rc
,就像在Hunt the wumpa中一样,它是指发现Delphi(与Visual Studio不同)可以编译资源脚本所需的工作量。是否要求清单文件必须调用.manifest或.manifest也可以工作?
Create XML file with following content:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.1.1.1"
processorArchitecture="X86"
name="YourApplicationExeName"
type="win32"/>
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
1 24 "YourApplicationName.manifest"