MFC 打开文件夹选择框并获取文件夹路径

CString FicowGetDirectory()
{
    BROWSEINFO bi;
    char name[MAX_PATH];
    ZeroMemory(&bi, sizeof(BROWSEINFO));
    bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
    bi.pszDisplayName = name;
    bi.lpszTitle = "选择文件夹目录";
    bi.ulFlags = BIF_RETURNFSANCESTORS;
    LPITEMIDLIST idl = SHBrowseForFolder(&bi);
    if (idl == NULL)
        return "";
    CString strDirectoryPath;
    SHGetPathFromIDList(idl, strDirectoryPath.GetBuffer(MAX_PATH));
    strDirectoryPath.ReleaseBuffer();
    if (strDirectoryPath.IsEmpty())
        return "";
    if (strDirectoryPath.Right(1) != "\\")
        strDirectoryPath += "\\";

    return strDirectoryPath;
}

 

posted @ 2016-01-17 15:56  Ficow  阅读(10687)  评论(0编辑  收藏  举报