新方法:
-----------------------------------------------------------------------------------------------------------------------------------------------
刚刚发现一个简单的方法,把下面的代码加入到工程中就行了,这个方法简单的多
#pragma comment(linker,"/manifestdependency:/"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'/"")
老的方法:
------------------------------------------------------------------------------------------------------------------------------------------------
1、在头文件中包括如下:
#include "commctrl.h"
#pragma comment(lib, "comctl32.lib")
注:这两行放到#include <windows.h>后面
2、在程序开始加入初始化代码如下:
InitCommonControls();//其实MFC本来就有,但SDK没有。
注:我放到了WinMain的第一行
3、新建自定义资源输入类型是24。
4、复制下面代码做一个文件,名字叫xp.manifest,文件内容如下:
<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>
5、用记事本打开rc文件, 找到自定义资源的地方改成如下句子
IDR_MANIFEST 24 MOVEABLE PURE "xp.manifest"
MOVABLE PURE是一定不能少的..保存
6、进入VC,资源视图->资源符号->新建
把这个自定义资源IDR_MANIFEST的ID设成1
编译就可以了,exe程序不需要带这个xp.manifest了
注:以上vc2008测试通过