本帖最后由 VisualEleven 于 2014-04-14 09:43:40 编辑

解决方案 »

  1.   

    //利用SHBrowseForFolder打开选择文件夹
    CString sFolderPath;//存取选择的文件夹
    BROWSEINFO bBrowInfo;
    char Buffer[MAX_PATH];
    //初始化入口参数开始
    bBrowInfo.hwndOwner = NULL;
    bBrowInfo.pidlRoot = NULL;
    bBrowInfo.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框
    bBrowInfo.lpszTitle="请选择替换路径";//选择对话框提示语言
    bBrowInfo.ulFlags = 0;
    bBrowInfo.lpfn = NULL;
    bBrowInfo.iImage=NULL;
    //初始化入口参数bi结束
    LPITEMIDLIST pIDList = SHBrowseForFolder(&bBrowInfo);//调用显示选择对话框
    if(pIDList)
    {
    SHGetPathFromIDList(pIDList, Buffer);
    //取得文件夹路径到Buffer里
    sFolderPath = Buffer;//将路径保存在一个CString对象里
    }
      

  2.   

    pszPath 
    Address of a buffer to receive the file system path. This buffer must be at least MAX_PATH characters in size. 
    If the location specified by the pidl parameter is not part of the file system, this function will fail. 
    一直用没见过失败呀 大哥