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);

}