C++ 获取系统文件夹路径

比如获取桌面路径:

	// 需要 #include 
	char path[255];
	SHGetSpecialFolderPath(
		NULL,							// 保留
		path,							// 接受文件路径的字符串指针
		CSIDL_DESKTOPDIRECTORY,			// CSIDL 宏
		FALSE							// 如果文件夹不存在,则不创建文件夹
	);cout << "path = " << path << endl;

C++ 获取系统文件夹路径_第1张图片
SHGetSpecialFolderPath 的第三个参数决定了获取哪个文件夹的路径,参考如下:

介绍
CSIDL_ADMINTOOLS、CSIDL_COMMON_ADMINTOOLS 管理工具
CSIDL_ALTSTARTUP、 CSIDL_COMMON_STARTUP、CSIDL_STARTUP 程序 - 启动
CSIDL_APPDATA AppData
CSIDL_CDBURN_AREA 临时刻录文件夹
CSIDL_COMMON_TEMPLATES、CSIDL_TEMPLATES Templates
CSIDL_COMMON_APPDATA ProgramData
CSIDL_COMMON_DESKTOPDIRECTORY、CSIDL_DESKTOP、CSIDL_DESKTOPDIRECTORY 桌面
CSIDL_COMMON_DOCUMENTS、CSIDL_MYDOCUMENTS、CSIDL_PERSONAL 文档
CSIDL_COMMON_FAVORITES、CSIDL_FAVORITES 收藏夹
CSIDL_COMMON_MUSIC、CSIDL_MYMUSIC 音乐
CSIDL_COMMON_PICTURES、CSIDL_MYPICTURES 图片
CSIDL_COMMON_PROGRAMS、CSIDL_PROGRAMS 开始菜单 - 程序
CSIDL_COMMON_STARTMENU、CSIDL_STARTMENU 开始菜单
CSIDL_COMMON_VIDEO 、CSIDL_MYVIDEO 视频
CSIDL_COOKIES INetCookies
CSIDL_FONTS 字体
CSIDL_HISTORY 历史
CSIDL_INTERNET_CACHE INetCache
CSIDL_LOCAL_APPDATA AppData/Local
CSIDL_NETHOOD Network Shortcuts
CSIDL_PRINTHOOD Printer Shortcuts
CSIDL_PROFILE 当前用户(Administrator)
CSIDL_PROGRAM_FILES 、CSIDL_PROGRAM_FILESX86 Program Files
CSIDL_PROGRAM_FILES_COMMON、CSIDL_PROGRAM_FILES_COMMONX86 Common Files
CSIDL_RECENT 最近使用的项目
CSIDL_RESOURCES Resources
CSIDL_SENDTO 发送到
CSIDL_SYSTEM System32
CSIDL_SYSTEMX86 SysWOW64
CSIDL_WINDOWS Windows

你可能感兴趣的:(C++功能函数)