[MFC]设置文件夹目录时遇到的问题
来源:农民伯伯 责任编辑:栏目编辑 发表时间:2013-07-01 13:22 点击:次
前言
关键字: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"无效的目录,请重新选择");
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"无效的目录,请重新选择");
二、报错截图
三、解决错误