加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 01:56:52 所属栏目:Windows 来源:网络整理
导读:我有一个用C语言编写的老式 Windows GDI应用程序,它正在使用Mingw工具链进行编译. 我的一些用户一直在抱怨Windows Vista和Windows 7的虚拟商店,其中写入应用程序无法访问的目录的文件被虹吸掉并存储在其他地方.他们说这让他们感到困惑,他们更倾向于犯错误.根
我有一个用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读