今天在写测试代码时需要获取收藏夹路径,于是就查到了下面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。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步