Вызов асинхронного метода в mfc
Я хотел вызвать функцию Recurse (LPCTSTR pstr) для сканирования файлов и в то же время хотел выполнить другую задачу, но когда я нажимаю на кнопку Resume, мне приходится ждать, пока все сканирование не закончится.
что же мне делать?..
Что я уже пробовал:
void CPracticePictureControlandlabelsDlg::OnBnClickedResume() { // TODO: Add your control notification handler code here Recurse(L"E:\\"); }
void CPracticePictureControlandlabelsDlg::Recurse(LPCTSTR pstr) { m_picProgressGif.Draw(); m_picMyimg.Draw(); CFileFind finder; // build a string with wildcards CString strWildcard(pstr); strWildcard += _T("\\*.*"); // start working for files BOOL bWorking = finder.FindFile(strWildcard); 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()) { CString str = finder.GetFilePath(); m_lblMessage.SetText(str); Recurse(str); } } finder.Close(); }