参考了网站:
http://www.cnblogs.com/lovelyx/p/4867134.html
bool bGetFolderPath(char * pFolderPath, int iLen)
{
BROWSEINFO bi;
LPITEMIDLIST pidl;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = pFolderPath;
bi.lpszTitle = _T("选择输出文件路径");
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = NULL;
bi.iImage = NULL;
if((pidl = SHBrowseForFolder(&bi)) != NULL)
{
if(SUCCEEDED(SHGetPathFromIDList(pidl, pFolderPath))) //得到文件夹的全路径,不要的话,只得本文件夹名
{
return true;
}
}
return false;
}
上面的m_hWnd是调用此方法的窗体指针。而iLen没有被用到,它存在的目的是给出字符串pFolderPath的长度。假如成功获取了文件夹路径,该路径会保存在pFolderPath里面,并返回true;否则返回false