LPMALLOC pMalloc;
if ( FAILED(SHGetMalloc(&pMalloc)) ) {
return;
}
BROWSEINFO bi;
ZeroMemory( &bi, sizeof(bi) );
bi.hwndOwner = m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = "Select Folder";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
LPITEMIDLIST pidl = SHBrowseForFolder( &bi );
if ( pidl != NULL ) {
TCHAR szDir[MAX_PATH];
if ( SHGetPathFromIDList( pidl, szDir ) ) {
...
}
pMalloc->Free( pidl );
}
pMalloc->Release();