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);
}
{
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);
}
其实我是想一次保存好几个文件到一个文件夹,用户只需要选择或者创建文件夹就行了。我以为SHBrowseForFolder不能新建的。谢谢了