有时,需要通过打开浏览文件夹来获取需要选择的文件夹,如下所示:用于选取文件夹,我们需要获取所选文件夹的路径
void CFileDlg::OnBnClickedButtonFilePath()
{
wchar_t szSelected[MAX_PATH];
BROWSEINFO bi;
LPITEMIDLIST pidl;
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szSelected;
bi.lpszTitle = L"Select File Path";
bi.ulFlags = BIF_RETURNFSANCESTORS;
bi.lpfn = NULL;
bi.lParam = NULL;
bi.iImage = NULL;
if ((pidl=SHBrowseForFolder(&bi)) != NULL)
{
if (SUCCEEDED(SHGetPathFromIDList(pidl,szSelected)))
{
m_strFileOut = szSelected;
}
}
SetDlgItemText(IDC_EDIT_FILE_PATH,m_strFileOut);
}