LPMALLOC pmalloc;
if(SHGetMalloc(&pmalloc)==NOERROR)
{
void *pTemp=pmalloc->Alloc(sizeof(ITEMIDLIST));
LPCITEMIDLIST pItemList=static_cast<LPCITEMIDLIST>(pTemp);
TCHAR buffer[MAX_PATH];
TCHAR buffer1[MAX_PATH];
BROWSEINFO browseinfo;
browseinfo.hwndOwner=m_hWnd;
browseinfo.pidlRoot=NULL;
browseinfo.pszDisplayName=buffer;
browseinfo.lpszTitle= _T("directory chosen:");
browseinfo.ulFlags=BIF_EDITBOX;
browseinfo.lpfn=NULL;
browseinfo.lParam=NULL;
InitCommonControls();
pItemList=SHBrowseForFolder(&browseinfo);
if(pItemList!=NULL)
{
SHGetPathFromIDList(pItemList,buffer1);
SetDlgItemText(IDC_LOCAL_EDIT,buffer1);
}
pmalloc->Free(pTemp);
pItemList=NULL;
}
pmalloc=NULL;