// 选择文件夹对话框
CString SelectFolderDialog(void)
{
CString sFileDir;
BROWSEINFO bi;
ZeroMemory(&bi, sizeof(BROWSEINFO));
bi.hwndOwner = m_hWnd;
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE;
LPITEMIDLIST pid1 = SHBrowseForFolder(&bi);
BOOL bRet = FALSE;
TCHAR szFolder[MAX_PATH*2];
szFolder[0] = _T('\0');
if (pid1)
{
if (SHGetPathFromIDList(pid1, szFolder))
{
bRet = TRUE;
}
IMalloc *pMalloc = NULL;
if (SUCCEEDED(SHGetMalloc(&pMalloc)) && pMalloc)
{
pMalloc->Free(pid1);
pMalloc->Release();
}
}
sFileDir = szFolder;
return sFileDir;
}