【发布时间】:2014-08-26 23:13:43
【问题描述】:
我希望我的程序在启动时简单地请求提升权限,为此我将一个清单文件作为资源添加到 Delphi 源代码中。这是 XML 文件的内容:
<?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>
我需要修改显示“YourApplicationExeName”的文件并添加当前的 .exe 名称,因为用户可以随时重命名 .exe 文件。
我想知道的是:当用户打开可执行文件时,如何将可执行文件的新文件名添加到作为资源存储的清单文件中?我知道如何获取新文件名,我只想知道如何使用新文件名更新资源文件?
【问题讨论】:
-
不是重复的。我的问题是如何修改 XML 文件 - 添加当前应用程序名称 - 并将其添加为资源文件以再次使用?
-
修改文件的方式与修改任何文件的方式相同。了解如何编辑文本文件是编程的基本先决条件。如果您不知道如何编辑文本文件,则需要回到开头。如果您想知道如何从现在的位置到达您想成为的位置,那么您需要详细解释您当前所做的事情,即您现在所在的位置。我们无法读懂你的想法。请编辑问题并加倍努力解释。
-
您所要做的就是从任何关于如何编译和添加清单资源的教程开始。他们都是一样的。你可以在那个问题上找到有用的。 1. 制作 XML 文件。 2. 制作 .rc 文件。 3. 将.rc 文件编译成.res 文件。 4. 链接 .res 文件。如果您希望使用高级
$R选项,可以将步骤 3/4 合并为一个。我们在这里根本不需要另一个“我如何编译和链接资源”的问题。实际上已经有数千人了。 -
嗨,大卫。我知道如何编辑文本文件,也知道如何编译 .rc 文件并将其添加到项目源中。不是问题。我遇到的问题是更新资源文件 - 使用新值编辑 XML 文件,然后再次将自身添加为资源。我想要的是当用户打开可执行文件时,它必须确定新文件名(不是问题),并将新文件名添加到清单文件(作为资源存储)
-
什么意思?打开可执行文件?您的意思是创建一个新流程并执行它?请准确解释您在问题中的意思。单击编辑按钮并使其清晰。
标签: delphi resources manifest uac