您的位置:首页 > 其它

SHBrowseForFolder

2016-03-16 23:48 369 查看
前言

找了一段代码, 选择文件夹.

关于SH系列函数, vc6的msdn上没怎么说明这些函数组合起来怎么用.

如果在msdn中搜SHBrowseForFolder, 能搜到一些代码片段.

demo

void CMyCopyFileDlg::OnBtnSelectDst()
{
/// 选择目的
BROWSEINFO bi;
LPITEMIDLIST pidlBrowse = NULL;
TCHAR cBuf[MAX_PATH] = {TEXT('\0')};
LPMALLOC pMalloc = NULL;

// Fill in the BROWSEINFO structure.
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = cBuf;
bi.lpszTitle = "选择拷贝到的目录";
bi.ulFlags = 0;
bi.lpfn = NULL;
bi.lParam = 0;

// Browse for a folder and return its PIDL.
pidlBrowse = SHBrowseForFolder(&bi);
if (NULL != pidlBrowse) {
if (SHGetPathFromIDList(pidlBrowse, cBuf)) {
UpdateData(TRUE);
m_strDst = cBuf;
UpdateData(FALSE);
}

if (NOERROR == SHGetMalloc(&pMalloc)) {
if (NULL != pMalloc) {
pMalloc->Free(pidlBrowse);
pMalloc->Release();
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: