1. HRESULT CoInitializeEx(void* pvReserved,DWORD dwCoInit)
初始化com组件,传递参数COINIT_APARTMENTTHREADED
2.LPITEMIDLIST SHBrowseForFolder(LPBROWSEINFO lpbi)
如果没选择,则返回NULL,否则返回一个用来描述所选择文件夹的项目标识列表
参数LPBROWSEINFO的成员pszDisplayName必须初始化一块空间,否则,不出对话框
3.bool SHGetPathFromIDList(LPCITEMIDLIST pidl,LPTSTR pszPath)
把项目标志列表转换为文件系统路径
4.释放空间
HRESULT SHGetMalloc(LPMALLOC * ppMalloc)得到要释放的内存空间
PpMalloc->Free(void*)//此处传LPITEMIDLIST
PpMalloc->Release();
还可以进行文件夹过滤设置
PathFileExists判断文件/文件夹是否存在