dzSelected = new TCHAR[MAX_PATH];//用来存放文件夹路径
BROWSEINFO dirname;
LPITEMIDLIST pidl;
dirname.hwndOwner = this->m_hWnd;
dirname.pidlRoot = NULL;
dirname.pszDisplayName = dzSelected;
dirname.lpszTitle = _T("选择目标文件路径");
dirname.ulFlags = BIF_RETURNONLYFSDIRS;
dirname.lpfn = NULL;
dirname.lParam = NULL;
dirname.iImage = NULL;
if ((pidl = SHBrowseForFolder(&dirname)) != NULL)
{
if (SUCCEEDED(SHGetPathFromIDList(pidl, dzSelected))) //得到文件夹的全路径,不要的话,只得本文件夹名
{
m_strFileOut2 = dzSelected;
}
}
GetDlgItem(IDC_EDIT2)->SetWindowText(dzSelected);
return;
dzSelected 是 窗口类的 TCHAR指针成员变量
m_strFileOut2是 窗口类的CString类型成员变量
IDC_EDIT2是我用来显示获取目录名字的
至于API的调用网上很多,借用了一下