SHGetKnownFolderIDList

此shell api用于获取特殊位置文件夹的路径,比如桌面,common,我的文档等等。与此相似的有

SHGetSpecialFolderLocation,SHGetFolderLocation,但是微软已经不建议使用这两个shell api了,他们的存在只是为了兼容vista之前的系统。


SHGetKnownFolderIDList 的用法:

ITEMIDLIST* pIDList;
if(S_OK == SHGetKnownFolderIDList(FOLDERID_Desktop, 0,NULL,&pIDList)) //第一个参数时要获取特殊文件夹的标示符
{
char cpath[MAX_PATH] = {0};
if(TRUE == SHGetPathFromIDList(pIDList, cpath))  //通过这个shell api获取字串路径
MessageBox(cpath);
}


还有一个SHGetKnownFolderPath可以直接获取特殊目录的路径。







MSDN: http://msdn.microsoft.com/en-us/library/bb762187(v=VS.85).aspx

你可能感兴趣的:(WIN32)