MFC设置文件夹目录时遇到的问题

媒介

关键字:SHBrowseForFolder、SHGetPathFromIDList

问题很菜,在网上找了一段想当然的代码改吧改吧,结果报错了,以致都不知道错哪里,调试也没法跟踪。

正文

一、问题代码

CString szPath;

BROWSEINFO bi;

bi.hwndOwner = m_hWnd;

bi.pidlRoot = NULL;

bi.pszDisplayName = szPath.GetBuffer();

bi.lpszTitle =L"请选择目录:";

bi.ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS;

bi.lpfn = NULL;

bi.lParam = 0;

bi.iImage = 0;

//弹出选择目录对话框

LPITEMIDLIST lp = SHBrowseForFolder(&bi);

if(lp && SHGetPathFromIDList(lp, szPath.GetBuffer()))

AfxMessageBox(szPath);

else

AfxMessageBox(L"无效的目录,请从新选择");

您可能还会对下面的文章感兴趣: