一直以来我在Windows上都是用经典风格,之后无意中使用了一下XP风格,发现使用Visual Studio 2003写的MFC程序仍然是老样子仍然没有变化。
后来发现只要将manifest文件更名为 “$(ProjectName).exe".manifest并发在可执行文件的路径下,应用程序就会随着系统的设置而自动改变了。
但是这种方法不好之处在于,一旦你发布了应用程序,而你的manifest文件又丢失的话,你的程序就会恢复到以前的样子,不会变化了。
还好我们还有另外一种方法,就是将manifest文件做成应用程序的资源,具体操作如下:
资源-> Insert Resource -> Curstom -> "type 填入 24” -> 将整个manifest文件内容贴进去 -> 设置Resource ID为1 编译链接->ok
注:
manifest文件,看起来像这样
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="Put your descriptions here,shilyx"
version="1.0.0.0"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assemblyIdentity
type="win32"
name="Put your descriptions here,shilyx"
version="1.0.0.0"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
type="win32"
name="Put your descriptions here,shilyx"
version="1.0.0.0"
processorArchitecture="*"/>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*"/>
</dependentAssembly>
</dependency>
</assembly>