惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
D
Docker
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
V
Visual Studio Blog
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
Recent Announcements
Recent Announcements
GbyAI
GbyAI
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
L
LangChain Blog
A
About on SuperTechFans
M
MIT News - Artificial intelligence
B
Blog

博客园 - riky

右键cmdshell DBLINK使用实战 oracle 日期相关的东东和几个应用的例子 - riky - 博客园 vnc.conf 1521 error1 - riky - 博客园 多项目同步进行“交叉编译” HIBERNATE 多表查询的解决方案 - riky - 博客园 动态添加SWAP分区 中文正则式 - riky - 博客园 消息处理2 消息处理1 REWRITE DEBUG... - riky - 博客园 ssi conf. SSI2 SSI 大型-WEBSITE建设资料2 大型WEB-SITE建设资料 cygwin中 unable get setup.ini from... 的错误问题 NetPerf 计划
vs2008 程序 xp风格 - riky
riky · 2009-03-13 · via 博客园 - riky

使用内置的manifest描述文件
这种方法可以将manifest文件编译到exe文件当中,发布的时候不需要额外增加一个.manifest文件。
步骤如下:
首先,在程序的RES目录下建一个文件,命名 你的程序.exe.embed.manifest,文件内容为:

Code:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
  
version="1.0.0.0"
  
processorArchitecture="X86"
  
name="Microsoft.Windows.dummy"
  
type="win32"
/>
<description>Your app description here</description>
<dependency>
  
<dependentAssembly>
  
<assemblyIdentity
  
type="win32"
  
name="Microsoft.Windows.Common-Controls"
  
version="6.0.0.0"
  
processorArchitecture="X86"
  
publicKeyToken="6595b64144ccf1df"
  
language="*"
  
/>
  
</dependentAssembly>
</dependency>
</assembly>

然后,在VC中导入资源,导入xp.manifest,类型为24,并且修改ID为IDR_MANIFEST。
最后,通过菜单View-Resources Symbol …或者直接修改resource.h,将IDR_MANIFEST的值改为1。

编译后运行,程序就有xp的风格了。

PS:这里我再多解释一下,“1”代表资源ID,可以可以根据自己的上下文定值。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。