CString pathOfD2;
std::vector<CString> folder;
std::vector<CString>::iterator it;
CString str;
void CTsCFliedlgDlg::OnBnClickedBtnOpen()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog m_dlg(TRUE,NULL,NULL);
if (m_dlg.DoModal() == IDOK)
{
conStrPath=m_dlg.GetPathName();
pathOfD2=m_dlg.GetFolderPath();
CString temp = "\\*.*";
pathOfD2 += temp;
CFileFind finder;//详见msdn的应用。
BOOL bWorking = finder.FindFile(pathOfD2);
while (bWorking)
{
bWorking = finder.FindNextFile();
// skip . and .. files; otherwise, we'd
// recur infinitely!
if (finder.IsDots())
continue;
// if it's a directory, recursively search it
if (finder.IsDirectory())
{
str = finder.GetFileTitle();//获取文件夹名
folder.push_back(str);
}
}
finder.Close();
}
for (it = folder.begin(); it != folder.end(); it++)
{
con_comb1.AddString(*it);//将搜到的文件夹名字的结果添加到ccombobox
}
UpdateData(FALSE);
}
同理查找文件夹下exe或 任意*.*?
CString pathOfD2;
std::vector<CString> folder;
std::vector::iterator it;
CString str;
void CTsCFliedlgDlg::OnBnClickedBtnOpen()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog m_dlg(TRUE,NULL,NULL);
if (m_dlg.DoModal() == IDOK)
{
conStrPath=m_dlg.GetPathName();
pathOfD2=m_dlg.GetFolderPath();
CString temp = "\\*.exe";//查找exe
pathOfD2 += temp;
CFileFind finder;
BOOL bWorking = finder.FindFile(pathOfD2);
while (bWorking)
{
bWorking = finder.FindNextFile();
//// skip . and .. files; otherwise, we'd
//// recur infinitely!
//if (finder.IsDots())
// continue;
//// if it's a directory, recursively search it
//if (finder.IsDirectory())
//{
// str = finder.GetFileTitle();
// folder.push_back(str);
//
//}
str = finder.GetFileName();
folder.push_back(str);
}
finder.Close();
}
for (it = folder.begin(); it != folder.end(); it++)
{
con_comb1.SetCurSel(0);
con_comb1.AddString(*it);
}
UpdateData(FALSE);
}