опубликован 19-12-2001 10:59 MSK
Вот код который работает для файлов наверняка и дл директорийvoid CCMVCExtractor::DeleteBAKFiles()
{
CString Files;
SHFILEOPSTRUCT* FOperation = new SHFILEOPSTRUCT;
if( NULL == FOperation ) return;
memset( FOperation, 0, sizeof( SHFILEOPSTRUCT ) );
FOperation->hwnd = NULL;
FOperation->wFunc = FO_DELETE;
FOperation->fFlags = FOF_NOCONFIRMATION /* | FOF_NOERRORUI*/ ;
FOperation->fAnyOperationsAborted = FALSE;
FOperation->hNameMappings = NULL;
FOperation->lpszProgressTitle = "Deleting backup files";
this->Message( "Delete buckup files..." );
for( int i = 0; i < this->FileList.GetSize(); i++ )
{
if( this->FileList.GetAt(i).GetBAKFile( ).GetLength() )
{
if( (_access( this->FileList.GetAt(i).GetBAKFile( ), 0 )) != -1 )
{
Files += this->FileList.GetAt(i).GetBAKFile( );
Files += '\0';
this->Message( this->FileList.GetAt(i).GetBAKFile( this->m_CMVCParam->Root ) );
}
}
}
Files += '\0';
FOperation->pFrom = Files;
FOperation->pTo = NULL;
if( SHFileOperation( FOperation ) )
{
this->Message( "Delete operation failed!");
}
delete FOperation;
}