天天看点

C++获取windows特殊文件夹路径

// VC++得到系统特殊文件夹路径

#include <windows.h>
#include <shlobj.h>
#include <stdio.h>

int main()
{
	printf("    VC++获取windows特殊文件夹路径  \n");
	//const int MAXN = 9;
	const int MAXN = 6;
	int nArrCSIDL[] = {
	//CSIDL_WINDOWS,
	//CSIDL_SYSTEM,
	//CSIDL_PROGRAM_FILES,
	CSIDL_DESKTOP,
	CSIDL_FAVORITES,
	CSIDL_FONTS,
	CSIDL_COOKIES,
	CSIDL_HISTORY,
	CSIDL_APPDATA,
	};
	char *pstrCSIDL[] = {
	//"CSIDL_WINDOWS",
	//"CSIDL_SYSTEM",
	//"CSIDL_PROGRAM_FILES",
	"CSIDL_DESKTOP",
	"CSIDL_FAVORITES",
	"CSIDL_FONTS",
	"CSIDL_COOKIES",
	"CSIDL_HISTORY",
	"CSIDL_APPDATA",
	};

	int i;
	for (i = 0; i < MAXN; i++)
	{
		char szBuffer[MAX_PATH];
		SHGetSpecialFolderPath(NULL, szBuffer, nArrCSIDL[i], FALSE);
		printf("%s\n\t%s\n", pstrCSIDL[i], szBuffer);
	}

	getchar();
	return 0;
}