您的位置:首页 > Web前端

将XP风格文件manifest合并到资源文件

2012-08-14 16:41 447 查看
转自:http://hi.baidu.com/lishman/blog/item/c25aa7167ee17f59f3de3201.html

使用.manifest文件不费任何力气就可以在xp系统里实现xp风格的控件,但是这样做有一点不方便的地方就是manifest必须放到exe所在目录,而且要将manifest文件改名为*.exe.manifest格式,如下做法可以将manifest文件放到资源文件中,编译后生成.res文件,link后自然就和.exe文件“合”到一起了。  

.manifest文件内容如下: 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 

<assemblyIdentity 

name="XP style manifest"  

processorArchitecture="x86" 

version="1.0.0.0" 

type="win32"/>  

<dependency>  

<dependentAssembly>  

<assemblyIdentity 

type="win32"  

name="Microsoft.Windows.Common-Controls"  

version="6.0.0.0"  

processorArchitecture="x86"  

publicKeyToken="6595b64144ccf1df"  

language="*"  

/>  

</dependentAssembly>  

</dependency>  

</assembly>

大家也看到了,这其实是一个XML文件,打开记事本,复制上面的内容,然后存盘,文件名任意,这里我存为XPStyle.manifest。  

然后在VC中新建一个MFC AppWizard(exe)工程,Document/View或Dialog均可,接着把XPStyle.manifest复制到工程所在目录,再用记事本或其它文本编辑工具手动修改工程目录下的资源文件(.rc),在文件最后加上一行:  

1 24 “XPStyle.manifest” 

最后加上的那一行,“1”代表资源ID,必须是“1”。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。最后面引号中的东西我就不再啰嗦了

这样编译后生成的文件只有一个exe,但是同样可以在xp系统下实现xp风格控件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: