一、在程序中包含commctrl.h头文件,链接到ComCtl32.lib,并调用InitCommon Controls.

#if  (_WIN32_IE >= 0x0300)
    INITCOMMONCONTROLSEX iccx;
    iccx.dwSize 
=   sizeof (iccx);
    iccx.dwICC 
=  ICC_COOL_CLASSES  |  ICC_BAR_CLASSES;
    BOOL bRet 
=  ::InitCommonControlsEx( & iccx);
    bRet;
    ATLASSERT(bRet);
#else
    ::InitCommonControls();
#endif


二、向项目中添加一个名为YourApp.exe.manifest的文件,其中的YourApp就写你的可执行文件的名称,这个文件具有XML格式:

   <? 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 ="CompanyName.ProductName.YourApp"  type ="win32"   />  
  
< description > Your application 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 >

三、在应用程序的资源文件(YourApp.rc)的顶部中添加这样的一行语句:

CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST  "YourApp .exe.manifest "

我在程序中没有做第一步也能成功,可能是因为没有用API创建的窗口或动态窗口,在程序中如果调用了CreateWindow函数去创建窗口,则需要执行第一步。