void rmdirectory(const char* dir)
{
char fpath[MAX_PATH];
char fname[MAX_PATH];

HANDLE hList;
TCHAR szDir[MAX_PATH];
WIN32_FIND_DATA FileData;
snprintf(szDir,MAX_PATH, "%s\\*", dir);
hList = FindFirstFile(szDir, &FileData);
if (hList == INVALID_HANDLE_VALUE){
return;
}
do{
strncpy(fname,FileData.cFileName,MAX_PATH);

if (!strcmp(fname,".")) continue;
if (!strcmp(fname,"..")) continue;

snprintf(fpath,MAX_PATH,"%s\\%s",dir,fname);
if (FileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) deldir(fpath);
else DeleteFile(fpath);

} while (FindNextFile(hList, &FileData));

FindClose(hList);
return;
}