如何使用VC++的MFC打开一个文件夹?

请把打开文件夹的代码给我吧,
再加个注释吧

//选择文件夹
CString GetDirectory()
{
BROWSEINFO bi;
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = AfxGetMainWnd()->GetSafeHwnd();
bi.pszDisplayName = name;
bi.lpszTitle = "选择文件夹目录";
bi.ulFlags = BIF_RETURNFSANCESTORS;
LPITEMIDLIST idl = SHBrowseForFolder(&bi);
if(idl == NULL)
return "";
CString strDirectoryPath;
SHGetPathFromIDList(idl, strDirectoryPath.GetBuffer(MAX_PATH));
strDirectoryPath.ReleaseBuffer();
if(strDirectoryPath.IsEmpty())
return "";
if(strDirectoryPath.Right(1)!="\\")
strDirectoryPath+="\\";

return strDirectoryPath;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-17
那看你做的什么程序了
如果是对话框程序就在initdialog中进行打开
如果是多文档可以在主窗口创建后发送一个打开命令给程序
这样会自动打开了
第2个回答  2011-08-11
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="我的文件打开对话框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
fileDlg.DoModal()
第3个回答  2011-08-12
定义一个CFileDialog 对象,即文件对话框资源,