此 list 中以管理员身份运行应用程序有什么不正确的地方?它在 32 位上运行良好,但与 64 位 exec 一起使用会在启动时出现错误并关闭:“应用程序无法正确启动 (0xc000007b)。单击“确定”关闭应用程序。”
编辑:问题已解决并关闭,以供将来引用:
32/64 位的工作 list ,通过项目选项/应用程序/运行时主题/自定义 list -> 选择 .manifest 文件添加它。 Delphi XE2 资源编译器似乎会因为某种原因而陷入困惑。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
最佳答案
您的问题与您的 list 无关。您可以通过创建一个空应用程序并将 list 添加为自定义 list 来验证情况是否如此。
错误代码 0xc000007b 是当 64 位进程从 32 位 DLL 导入函数时得到的,这是对您的问题最合理的解释。使用Dependency Walker找出 32 位 DLL 正在解析哪些导入。
关于64 位 UAC 提升的 Delphi list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11174743/