VC++ 文件夹的打开

  文件夹打开的源码如下所示:

 

CString sPackPath;
BROWSEINFO bi;
WCHAR Buffer[MAX_PATH];
memset(Buffer,0,MAX_PATH);
bi.hwndOwner = this->GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = Buffer;
bi.lpszTitle =_T("请选择含有图片的文件夹");

bi.ulFlags = NULL;
bi.lpfn=NULL;
bi.iImage = IDR_MAINFRAME;
LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);
if(pIDList)
{
    //保存打开文件夹的路径
    SHGetPathFromIDList(pIDList,Buffer);
    sPackPath = CString(Buffer);
}
else
{
    return;
}

LPMALLOC lpMalloc;
if (FAILED(SHGetMalloc(&lpMalloc)))
{
    return;
}

//释放
lpMalloc->Free(pIDList);
lpMalloc->Release();

 效果如下图所示:

 

 

 

posted @ 2014-05-06 11:09  清风似水流  阅读(733)  评论(0编辑  收藏  举报