Код: Выделить всё
void CStrageDlg::OnBnClickedOk()
{
CFileFind finderfile;
CStringW strName("*.*");
CString strPath;
::SetCurrentDirectory(_T("C:\\"));
if(finderfile.FindFile(strName,0))
{
while(finderfile.FindNextFileW())
{
if(finderfile.IsDirectory())
{
CString strN = finderfile.GetFileName();
if(strN.CompareNoCase(_T("Delthise"))==0)
{
strPath = finderfile.GetFilePath();
strPath.Replace(_T("\\"),_T("\\\\"));
SetDlgItemTextW(IDC_STATIC,strPath);
CFileStatus status;
status.m_attribute = 0;
CFile::SetStatus(strPath, status);
SHFILEOPSTRUCT fa;
fa.fFlags = FOF_NOERRORUI | FOF_NOCONFIRMATION;
fa.hNameMappings = NULL;
fa.hwnd = m_hWnd;
fa.pFrom = strPath;
fa.pTo = NULL;
fa.wFunc = FO_DELETE;
int nRes = ::SHFileOperation(&fa);
}
}
}
}
}
Может есть еще способы удалить папку с файлами - мне надо даже в том случае если какие-нибудь из вложенных файлов запущены и т.п.