Posted on 2012-11-21 14:12
盛胜 阅读(719)
评论(0) 编辑 收藏 引用
写过一个关于获得文件所在路径的方法,这一次需要选择一个目标文件夹,因此就涉及到了如何获取文件夹路径的问题。
步骤/方法
百度之后,得到如下解决方案:
char szSelected[MAX_PATH];//用来存放文件夹路径
BROWSEINFO bi;
LPITEMIDLIST pidl;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szSelected;
bi.lpszTitle = "选择输出文件路径";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = NULL;
bi.iImage = NULL;
if((pidl = SHBrowseForFolder(&bi)) != NULL)
{
if(SUCCEEDED(SHGetPathFromIDList(pidl, szSelected)))//得到文件夹的全路径,不要的话,只得本文件夹名
{
m_strFileOut = szSelected;
}
}
其效果如下图