转贴自上海交大饮水思源BBS VC版
WindowsXP在界面上较以往操作系统有了很大的改动,看多了似乎也还算漂亮,但不知大家有没有注意到用VC直接写出来的程序即使在XP下仍然是XP之前的风格,看来其中有什么地方还是需要作一些改动的。相信大家都在网上见过在资源里加入XML代码的方法,这里我就不再重复这种方法了,否则有抄袭嫌疑。这里介绍一种很方便的方法,希望对大家有帮助。这个方法其实也是和XML有关,只不过不是放在资源里了,现在请按照以下步骤来做。
1.首先确认你在Windows XP下,因为如果在98或2K下,那除非自己重画画所有界面,要不基本上是无法实现XP风格的。
2. 新建一个文本文件,把下面这段XML代码粘贴进去
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
processorArchitecture="x86"
version="5.1.0.0"
type="win32"
name="test.exe"/>
<description>Test Application</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>
不要问我这段代码是什么意思,我也不知道,这段代码其实和任何一种试图实现XP风格时用的XML代码没有本质区别,几乎是一样的。粘贴进去时候存盘,名字随便取一个,反正到后面还是需要修改的。
3.假设在你的目录c:\abc下有一个可执行文件abc.exe,我们把刚才建立的那个XML的文件拷贝到c:\abc下,并把名字改为abc.exe.manifest,这时候你可以运行abc.exe,看看是不是已经具有了XP风格了?依次类推,在每一个你想改为XP风格的程序的统一目录里建立一个上面说的XML文件,并把名字改为可执行文件的名字加上".manifest"的扩展名(注意,不要把那个exe去掉,就可以了,你可以试着在MSDEV.exe所在目录中搞一个medev.exe.manifest的XML文件,看看VC起了什么变化?是不是资源编辑器里的对话框都变的漂亮了?
补充说明一下文中提到的嵌入xml的方法:
在资源视图中自定义一类资源,假设为RT_MANIFEST , 将上面那段xml贴进去,将资源id改
为1即可。