BOOL CopyFromTo(const TCHAR * source,const TCHAR * dest)
{
HANDLE hFileFind = INVALID_HANDLE_VALUE;
WIN32_FIND_DATA wfd;
TCHAR szTemp[MAX_PATH] = {0};
TCHAR szTemp2[MAX_PATH]={0};
_stprintf(szTemp,_T("%s\\*.*"),source);
hFileFind = FindFirstFile(szTemp,&wfd);
if(hFileFind == INVALID_HANDLE_VALUE)
return FALSE;
do
{
if( wfd.cFileName != _T(".") && wfd.cFileName != _T("..") )
{
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
memset(szTemp,0x00,sizeof(szTemp));
memset(szTemp2,0x00,sizeof(szTemp2));
_stprintf(szTemp,_T("%s\\%s"),source,wfd.cFileName);
_stprintf(szTemp2,_T("%s\\%s"),dest,wfd.cFileName);
CreateDirectory(szTemp2,NULL);
CopyFromTo(szTemp,szTemp2);
}
else
{
memset(szTemp,0x00,sizeof(szTemp));
memset(szTemp2,0x00,sizeof(szTemp2));
_stprintf(szTemp,_T("%s\\%s"),source,wfd.cFileName);
_stprintf(szTemp2,_T("%s\\%s"),dest,wfd.cFileName);
CopyFile(szTemp,szTemp2,FALSE);
}
}
}while(FindNextFile(hFileFind,&wfd));
FindClose(hFileFind);
return TRUE;
}