今天在写测试代码时需要获取收藏夹路径,于是就查到了下面SHGetSpecialFolderLocation这个API,然后就试着写了一个,但没经过详细测试,所有不确定在任何一个Windows系统上都能跑。#include <Shellapi.h> #include <shlobj.h> string GetSystemFavoritePath() { char path[MAX_PATH] = ""; ITEMIDLIST *List; SHGetSpecialFolderLocation(NULL, CSIDL_FAVORITES, &List); if(SHGetPathFromIDList(List , path)) { CoTaskMemFree(List); } return path; }
需要包含shell32.lib、ole32.lib。