void FolderSelectFunc()
{
ITEMIDLIST *pidlBrowse;
WCHAR pszPathname[MAX_PATH];
// MFC에서는 FolderBrowserDialog 를 지원하지 않아, 구조체를 선언하여 직접 호출 해야 한다.
// 직접 호출 하기 위해서는 BROWSEINFO 구조체를 사용해야 한다.
BROWSEINFO BrInfo;
// 자기 자신의 핸들을 가지고 옴.
BrInfo.hwndOwner = GetSafeHwnd();
BrInfo.pidlRoot = NULL; // NULL 이면 "바탕화면" 초기 설정
// ITEMIDLIST 구조체에서 지정함.
memset(&BrInfo, 0, sizeof(BrInfo));
BrInfo.pszDisplayName = pszPathname;
BrInfo.lpszTitle = _T("Select Directory");
BrInfo.ulFlags = BIF_RETURNONLYFSDIRS;
pidlBrowse = ::SHBrowseForFolder(&BrInfo);
if(pidlBrowse != NULL)
{
SHGetPathFromIDList(pidlBrowse, pszPathname);
}
MessageBox(pszPathname, L"선택된 폴더명", MB_OK);
UpdateData(FALSE);
}