CFileDialog 只能选择要打开的文件而不能选择要打开的文件夹CString GetBrowseFolder(HWND pParent,CString wndTitle)
{
    char        szDir[MAX_PATH] = {0};
    BROWSEINFO    bi;
    ITEMIDLIST    *pidl = NULL;    bi.hwndOwner = pParent;
    bi.pidlRoot = NULL;
    bi.pszDisplayName = szDir;
    bi.lpszTitle = wndTitle;
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    bi.lpfn = NULL;
    bi.lParam = 0;
    bi.iImage = 0;    pidl = SHBrowseForFolder(&bi);
    if(NULL == pidl)
        return "";
    if(!SHGetPathFromIDList(pidl,szDir))  
        return "";    return CString(szDir);
}

解决方案 »

  1.   

    Quote: 引用 1 楼 jason_wentzel 的回复:

    CFileDialog 只能选择要打开的文件而不能选择要打开的文件夹你这个我看过了,但是我是想能够像保存(创建)文件一样保存(创建)文件夹,你那个只是打开文件夹
      

  2.   

    本帖最后由 VisualEleven 于 2014-03-12 14:14:40 编辑
      

  3.   

    http://www.codeproject.com/Articles/9865/XFolderDialog-a-folder-selection-dialog-based-on-C
      

  4.   


    其实我是想一次保存好几个文件到一个文件夹,用户只需要选择或者创建文件夹就行了。我以为SHBrowseForFolder不能新建的。谢谢了