windows – 在mingw应用程序中忽略清单

我有一个用C语言编写的老式 Windows GDI应用程序,它正在使用Mingw工具链进行编译.

我的一些用户一直在抱怨Windows Vista和Windows 7的虚拟商店,其中写入应用程序无法访问的目录的文件被虹吸掉并存储在其他地方.他们说这让他们感到困惑,他们更倾向于犯错误.根据Microsoft的文档,防止这种情况发生的方法添加应用程序清单.

不幸的是,这似乎没有做任何事情.

我的清单是:

<?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编译并以通常的方式链接到我的应用程序.图标显示出来,所以我相信这一点至少是正确的.

还有什么我需要做的才能让清单得到尊重吗?

解决方法

解决:我从资源文件中遗漏了这一行:

#include "winuser.h"

没有它,你没有得到它没有工作的任何诊断或指示;你只是没有得到一个清单.叹.

在这里使用清单提取工具来解决这个问题:http://weblogs.asp.net/kennykerr/archive/2007/07/10/manifest-view-1-0.aspx

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...