首先在RES目录下建一个文件,命名 windows.manifest 后缀为:.manifest
然后用记事本打开放入
< ?xml version="1.0" encoding="UTF-8" standalone="yes"?>
< assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
< assemblyIdentity
name="Microsoft.Windows.XXXX"
processorArchitecture="x86"
version="5.1.0.0"
type="win32"/>
< description>Windows Shell</description>
< dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
< /dependency>
< /assembly>
保存..
然后导入资源,把文件windows.manifest添加到工程的资源中:
插入->资源->引入->文件类型改为“所有文件"->找到windows.manifest->弹出对话框
资源类型 填"24"->确定后(弹出一堆象乱码一样的东西,汗!!)
再把资源的ID改为"IDR_MANIFEST"
然后在String Table中添加IDR_MANIFEST,值为1
重新生成编译运行
你的
程序就有了XP/Win7的风格
有时会出现一个这样的错误:
fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409
解决方法:
1>CVTRES : fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0x0409
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
加入了MANIFEST资源,同时将应用程序语言从中文改成了英文,结果出现了上面的问题。中文时,不存在这个问题。
错误信息显示,重复链接了MANIFEST资源。无论怎么改动.rc文件,都没法避免这个错误,只能使用兼容处理的方式。
解决方法:项目——属性——清单工具,嵌入清单——否
重新编译,OK!