想获取所选文件夹的路径,可是会出错。
path能用CString吗?改了会出错。
char path[500];
BROWSEINFO br;
ITEMIDLIST *item;
br.hwndOwner = this->GetSafeHwnd();
br.iImage = 0;
br.lParam = 0;
br.lpfn = 0;
br.lpszTitle = "请选择备份数据存放的路径:";
br.pidlRoot = 0;
br.ulFlags = BIF_RETURNONLYFSDIRS;
item = SHBrowseForFolder(&br);
if (SHGetPathFromIDList(item,path)==TRUE)
    {MassageBox(path);
    }

解决方案 »

  1.   

    .........你少了一句br.pszDisplayName = 0;.............
    =====================>
    char path[500];
    BROWSEINFO br;
    ITEMIDLIST *item;
    br.hwndOwner = this->GetSafeHwnd();
    br.iImage = 0;
    br.pszDisplayName = 0;
    br.lParam = 0;
    br.lpfn = 0;
    br.lpszTitle = "请选择备份数据存放的路径:";
    br.pidlRoot = 0;
    br.ulFlags = BIF_RETURNONLYFSDIRS;
    item = SHBrowseForFolder(&br);
    if (SHGetPathFromIDList(item,path)==TRUE)
        {
    MessageBox(path);
        }
      

  2.   

    item = SHBrowseForFolder(&br);
    if (SHGetPathFromIDList(item,path)==TRUE)
    这两句的作用是什么呢?
      

  3.   

    item = SHBrowseForFolder(&br);//打开浏览文件夹对话框
    if (SHGetPathFromIDList(item,path)==TRUE)//得到选择文件夹的路径
    MSDN有详细的用法...
      

  4.   

    这好像msdn就有例子啊,看看吧不过你的那样就是对的啊,用cstring直接肯定是不行的