CString CTestWnd::SelectFolderPath()
{
TCHAR szFolderPath[MAX_PATH] = { 0 };
CString strFolderPath = TEXT("");
BROWSEINFO sInfo;
::ZeroMemory(&sInfo, sizeof(BROWSEINFO));
//最重要的就说这一句,m_strUploadRootDir为你向指定的根目录,但是必须使用ILCreateFromPath函数
//转换成sInfo.pidlRoot的格式,这样,出来的选择文件夹对话框的根目录就是你指定的目录了,只能在这
//个目录下选择文件夹
sInfo.pidlRoot = ILCreateFromPath(m_strUploadRootDir);
sInfo.lpszTitle = _T("请选择处理结果存储路径");
sInfo.ulFlags = BIF_RETURNONLYFSDIRS | BIF_DONTGOBELOWDOMAIN;
sInfo.lpfn = NULL;
// 显示文件夹选择对话框
LPITEMIDLIST lpidlBrowse = ::SHBrowseForFolder(&sInfo);
if (lpidlBrowse != NULL)
{
// 取得文件夹名
if (::SHGetPathFromIDList(lpidlBrowse, szFolderPath))
{
strFolderPath = szFolderPath;
}
::CoTaskMemFree(lpidlBrowse);
}
return strFolderPath;
}