微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐