将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风格控件
使用.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风格控件
相关文章推荐
- 将XP风格文件manifest合并到资源文件
- 纯代码启用 XP 样式 (不用额外的资源或 manifest 文件)
- sdk合并报错:app:transformResourcesWithMergeJavaResForDedug,资源文件/META-INF/MANIFEST.MF重复
- 使用manifest文件实现XP风格界面
- 支持xp风格的manifest
- 网络加速手段之一,JS文件资源合并下载
- nginx中使用nginx-http-concat模块合并静态资源文件
- 使用manifest实现XP风格界面
- 网络加速手段之一,JS文件资源合并下载
- SpringMVC对Rest风格的支持和静态资源文件的引用
- android 资源文件 AndroidManifest.xml 阅读工程记录
- 【前端开发】合并多个前端静态资源文件,减少HTTP请求次数
- 用VC6打开XP风格通用文件对话框
- 使用apktool反编译apk的资源文件与manifest文件报:Error: Unable to access jarfile XXXXX
- MVC学习十一:合并资源文件(BundleConfig)
- Android 打包、资源合并问题 "Manifest merger failed with multiple errors" and "Could not expand ZIP"
- 解决GetManifestResourceNames()无法读取资源文件
- 利用manifest文件或资源文件让程序以管理员身份运行
- JBPM4.4:API风格、管理(部署、删除、更改、查询(文件资源、活动坐标))流程定义
- XP 远程桌面连接不能复制文件 - 设置本地资源 .