MFC获取某文件夹下的后缀文件所在路径
void CSensorFactoryToolDlg::OnBnClickedButtonPath11()
{
// TODO: Add your control notification handler code here
//获取bin路径
//CString dir=FirmwarePath;
CString m_saveFilePath;
//打开图像文件,获取文件路径名
TCHAR szPath[_MAX_PATH];
BROWSEINFO bi;
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.lpszTitle = "Please select the input path";
bi.pszDisplayName = szPath;
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = NULL;
LPITEMIDLIST pItemIDList = SHBrowseForFolder(&bi);
if(pItemIDList)
{
if(SHGetPathFromIDList(pItemIDList,szPath))
{
m_saveFilePath = szPath;
m_saveFilePath = m_saveFilePath+"\\";
}
}
CString dir=m_saveFilePath;
CString binfile = _T("bin");
vector<CString>fileList;
CString strFileToFind;
strFileToFind.Format(_T("%s\\*.%s"),dir,binfile);
CFileFind finderbin;
//如果你这边只是获取一个文件的路径的话,可以删除vector容器,判断这几步。
BOOL bWorkingbin = finderbin.FindFile(strFileToFind);
while (bWorkingbin)
{
bWorkingbin = finderbin.FindNextFile();
if (!finderbin.GetFileName().Compare(_T(".")) || !finderbin.GetFileName().Compare(_T("..")))
continue;
fileList.push_back(finderbin.GetFilePath());
}
CString stryj=finderbin.GetFilePath();
finderbin.Close();
FileSpec = stryj;
.....
}
这样的话他是从根路径开始的,每次都从根路径开始会比较繁琐,怎么记录上次打开的路径?我这边找到了一篇文章可以借鉴一下。https://blog.csdn.net/ranjiewen/article/details/52595558
或者写到配置文件里面,具体方法可以搜索一下