原因:C6确实编译不了这个,需要一个头文件shlobj.h(MSDN说是shfolder.h),这个头文件VC6里的陈旧了,需要下载新的MICROSOFT SDK包,用那里边的头文件替换掉VC6的。
解决方法步骤:
1.下载新的MICROSOFT SDK包,用那里边的头文件(shlobj.h)和lib(SHELL32.LIB)文件替换掉VC6的。
SDK地址:
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
2.配置vc6的环境
在vc6的tools->options->directories下面,在incldue files选项里面,把sdk安装目录下的INCLUDE目录添加到最上面,在library files选项里面,把sdk安装目录下的LIB目录添加到最下面。
3.在stdafx.h中,包含所有头文件之前,加上:
#define _WIN32_IE 0x0500
4.在程序中已经加入了shlobj.h。
原文:http://blog.csdn.net/dongpanshan/article/details/38851513