改变VC2005应用程序为XP风格 rt 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 VC2005应用程序默认就是XP风格的了吧 加上这段代码:#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")#elif defined _M_IA64#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")#elif defined _M_X64#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")#else#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")#endif 是不是加在stdafx.h文件最后?我加上了,但还是没变? 你用的是VS2005还是其它版本的VC? VC2005?不是集成在VS里面的么?貌似没有单独版本饿 写一个头文件,内容是:#ifdef _UNICODE#if defined _M_IX86#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")#elif defined _M_IA64#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")#elif defined _M_X64#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")#else#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")#endif#endif然后,在程序里包含进去就可以了 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起了什么变化?是不是资源编辑器里的对话框都变的漂亮了? name="test.exe"/> 改为name="medev.exe"/> (medev.exe是你的可执行文件的全称)接上可以在解决方案中添加一个medev.exe.manifest文件,,编译后就可以用了 实现singleton模式的问题怎么解决 可以这样定义一个CString常量吗? 多线程。。。高手指教 怎么把工具条上的每一项和菜单上的相应项挂勾! 初学一问:CCtrlView类有什么用啊 我的cab包里不仅包含dll,还有一些图片声音等资源,inf要怎么写? 请问 127.0.0.1 这个地址表示什么意思 OnCtlColor怎么使用?? 巨分放送:CBCGControl的菜单怎么disable掉? 我是想学Activex的新手,请问如何上路,有那些适合的书,以及网上可下载的资料 请问,用VC怎么实现让一个程序每隔一段时间就运行一次? 使用tinyxml遍历XML文件
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
我加上了,但还是没变?
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif然后,在程序里包含进去就可以了
<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起了什么变化?是不是资源编辑器里的对话框都变的漂亮了?
接上可以在解决方案中添加一个medev.exe.manifest文件,,编译后就可以用了