- bool chooseDir(CString& szPath)
- {
BROWSEINFO bi;
ZeroMemory(&bi,sizeof(BROWSEINFO));
- bi.lpszTitle = "选择一个目录";
- LPMALLOC pMalloc;
- LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
- if(NULL == pidl)
- {
- return false;
- }
- if(pidl != NULL)
- {
- char path[256];
- SHGetPathFromIDList(pidl, path);
- if(SUCCEEDED(SHGetMalloc(&pMalloc)))//pidl指向的对象用完应该释放
- {
- pMalloc->Free(pidl);
- pMalloc->Release();
- }
- szPath = path;
- return true;
- }
- return false;
- }