我有一个老式的 Windows GDI 应用程序,用 C 编写,正在使用 Mingw 工具链进行编译。
我的一些用户一直在提示 Windows Vista 和 Windows 7 的虚拟商店,其中写入应用程序不应该访问的目录的文件被抽走并存储在其他地方。他们说这让他们感到困惑,他们宁愿有一个错误。根据 Microsoft 的文档,防止这种情况发生的方法是添加应用程序 list 。
不幸的是,这似乎没有任何作用。
我的 list 是:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>WordGrinder</description>
<assemblyIdentity version="1.0.0.0" name="WordGrinder"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
...引用它的资源文件是:
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "src/c/arch/win32/manifest.xml"
101 ICON DISCARDABLE "src/c/arch/win32/icon.ico"
(并不复杂,如您所见。)资源文件是用 windres 编译的,并以通常的方式链接到我的应用程序。图标出现了,所以我相信至少这一点是正确的。
我还需要做些什么才能兑现 list 吗?
最佳答案
已解决:我在资源文件中遗漏了这一行:
#include "winuser.h"
没有它,您将得不到任何诊断或表明它没有工作的迹象;你只是没有得到 list 。叹息。
我在这里使用 list 提取工具解决了这个问题:http://weblogs.asp.net/kennykerr/archive/2007/07/10/manifest-view-1-0.aspx
关于windows - list 在 mingw 应用程序中被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20255591/