void Dlg::OnBtNdBrowse()
{
// TODO: Add your control notification handler code here
BROWSEINFO bi = {0};
TCHAR szFilePath[MAX_PATH] = {0};
ITEMIDLIST *pidl = {0};
bi.hwndOwner = m_hWnd;
bi.lpszTitle = "请选择要保存到的文件夹";
bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_EDITBOX | BIF_NEWDIALOGSTYLE;
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)"C:"; //默认文件夹
pidl = ::SHBrowseForFolder(&bi); //获取目录
if (pidl == NULL)
{
//MessageBox("选择的目录不能为空");
return;
}
if (!::SHGetPathFromIDList(pidl, szFilePath)) //获取目录
return;
int fpl = strlen(szFilePath);
if(szFilePath[fpl-1] != ”)
{
szFilePath[fpl] = ”;
szFilePath[fpl+1] = ‘’;
}
//szFilePath 这里获取到了
}
int CALLBACK Dlg::BrowseCallbackProc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
if(uMsg == BFFM_INITIALIZED ){ //设置初始化目录
::SendMessage(hWnd, BFFM_SETSELECTION, TRUE, lpData);
}
return 0;
}