windows垃圾清理源代码 C/C++

来源:互联网 发布:b2b2c源码 编辑:程序博客网 时间:2024/04/20 09:18
//cleanDos2011.5.31.3.cpp//win32控制台程序,界面做不出来//没有严格测试过      #include <windows.h>#include <stdio.h>#include <string.h>DWORD Total = 0; //文件和目录数量DWORD dwFile = 0; //文件数量DWORD dwFolder = 0; //所文件夹数量DWORD dwDeleteFile = 0;  //删除文件数量   //公共VOID  TimeDifference(SYSTEMTIME StOld, SYSTEMTIME StNow);//时差VOID  Show(VOID);DWORD FindDirFile(LPSTR szPath);   //遍历文件和目录DWORD DeleteFileSuffix(LPSTR szPath, LPSTR Suffix);//删除特定后缀文件//这有时删的干净,有时删不干净,本来是想删文件夹的,DWORD DeleteDirFile(LPSTR szPath);   //删除文件夹里的文件//后面发现RemoveDirectory()只能删空文件夹,导致路径错误,就不要了.VOID  Clear0(DWORD *Total, DWORD *dwFile, DWORD *dwFolder, DWORD *dwDeleteFile);VOID  OS_Version(CHAR *szVersionInfo);//1VOID GetSystemDir(VOID); //获取系统位置VOID SystemInfo(VOID);   //获取系统信息VOID GetTime(VOID); //获取时间VOID SpaceSize(CHAR  *RootPathName);VOID PrintSpaceSize();VOID AllSystemInfo(VOID);//2VOID DeleteRubbish(VOID); //删除垃圾文件//3VOID QQClean(VOID);//Win7 / XP//VOID GetUserNameDocuments(LPSTR c);//获取用户名//4VOID StatisticsFile(VOID);//统计VOID Conversion(CHAR* c); //格式转化//5清理痕迹VOID DeleteTrace(VOID);VOID Show(VOID){printf("\n1: 系统信息\t");printf("2:垃圾清理\t");printf("3: QQ还原\t\n");printf("4: 统计文件\t");printf("5: 清理痕迹\t");printf("其他: 退出\n\n");}VOID GetSystemDir(){CHAR UserName[MAX_PATH];DWORD dw = MAX_PATH;GetUserName(UserName, &dw);printf("用户名: %s\n", UserName);CHAR SystemDir[MAX_PATH];CHAR WindowDir[MAX_PATH];GetSystemDirectory(SystemDir, MAX_PATH);GetWindowsDirectory(WindowDir, MAX_PATH);printf("系统目录:%s\nWindows目录:%s", SystemDir, WindowDir);}VOID SystemInfo(){SYSTEM_INFO SysInfo;GetSystemInfo(&SysInfo);printf("\n内存分页大小: 0x%.8X", SysInfo.dwPageSize);printf("\n可用内存起始: 0x%.8x", SysInfo.lpMinimumApplicationAddress);printf("\n可用内存结束: 0x%.8x", SysInfo.lpMaximumApplicationAddress);printf("\nCPU个数: %d", SysInfo.dwNumberOfProcessors);printf("\nCPU类型: ");switch (SysInfo.dwProcessorType){case PROCESSOR_INTEL_386:printf("386\n");break;case PROCESSOR_INTEL_486:printf("486\n");break;case PROCESSOR_INTEL_PENTIUM:printf("pentium, Cpu Model 0x%.2X, Stepping 0x%.2X\n",(BYTE)(SysInfo.wProcessorRevision>>8), (BYTE)SysInfo.wProcessorRevision);break;case PROCESSOR_INTEL_IA64:printf("IA64\n");break;case PROCESSOR_AMD_X8664:printf("AMD x86 64\n");break;}printf("处理器架构: ");switch (SysInfo.wProcessorArchitecture){case PROCESSOR_ARCHITECTURE_INTEL:printf("intel");printf(" CPU vendor is %d\n",SysInfo.wProcessorLevel);break;case PROCESSOR_ARCHITECTURE_IA64:printf("64 bits intel\n");break;case PROCESSOR_ARCHITECTURE_AMD64:printf("64 bits AMD\n");break;case PROCESSOR_ARCHITECTURE_UNKNOWN:printf("UNKNOWN\n");break;}}VOID GetTime(){SYSTEMTIME st;// 获取时间GetLocalTime( &st );printf("日期:  %d-%d-%d\n", st.wYear, st.wMonth, st.wDay);printf("时间:  %d:%d:%d\n", st.wHour, st.wMinute, st.wSecond);printf("已开机: %d分钟", GetTickCount()/1000/60);}VOID OS_Version(CHAR *szVersionInfo){OSVERSIONINFO OS;// 设置参数大小,调用并判断是否成功OS.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);if(!GetVersionEx(&OS)){printf("error %d\n",GetLastError());return;}switch(OS.dwMajorVersion){case 5:switch(OS.dwMinorVersion){case 0:lstrcat(szVersionInfo,"2000");break;case 1:lstrcat(szVersionInfo,"XP");break;case 2:lstrcat(szVersionInfo,"Server 2003");break;}break;case 6:switch(OS.dwMinorVersion){case 0:lstrcat(szVersionInfo,"Vista");break;case 1:lstrcat(szVersionInfo,"7");break;}break;}}VOID SpaceSize(CHAR  *RootPathName){    DWORD SectorsPerCluster;    DWORD BytesPerSector;    DWORD NumberOfFreeClusters;    DWORD TotalNumberOfClusters;GetDiskFreeSpace(RootPathName,&SectorsPerCluster,&BytesPerSector,&NumberOfFreeClusters,&TotalNumberOfClusters);//printf("%d, %d, %d\n",  NumberOfFreeClusters, BytesPerSector, SectorsPerCluster);DWORD64 FreeSpaceSize  = (DWORD64)NumberOfFreeClusters * (DWORD64)BytesPerSector * (DWORD64)SectorsPerCluster;if(FreeSpaceSize == 0){return;}//printf("%I64d\n", FreeSpaceSize);DWORD GB = FreeSpaceSize / ((DWORD64)1024 * (DWORD64)1024 * (DWORD64)1024);FreeSpaceSize -= GB * ((DWORD64)1024 * (DWORD64)1024 * (DWORD64)1024);DWORD MB = FreeSpaceSize / ((DWORD64)1024 * (DWORD64)1024);FreeSpaceSize -= MB * ((DWORD64)1024 * (DWORD64)1024);DWORD KB = FreeSpaceSize / 1024;FreeSpaceSize -= KB * 1024;DWORD B = FreeSpaceSize;printf("%s 可用空间: %d GB  %d MB  %d KB  %d B\n", RootPathName, GB, MB, KB, B);DWORD64 TotalSpaceSize = (DWORD64)TotalNumberOfClusters * (DWORD64)BytesPerSector * (DWORD64)SectorsPerCluster;//printf("%I64d\n", TotalSpaceSize);GB = TotalSpaceSize / ((DWORD64)1024 * (DWORD64)1024 * (DWORD64)1024);TotalSpaceSize -= GB * ((DWORD64)1024 * (DWORD64)1024 * (DWORD64)1024);MB = TotalSpaceSize / ((DWORD64)1024 * (DWORD64)1024);TotalSpaceSize -= MB * ((DWORD64)1024 * (DWORD64)1024);KB = TotalSpaceSize / 1024;TotalSpaceSize -= KB * 1024;B = TotalSpaceSize;printf("%s 总空间:   %d GB  %d MB  %d KB  %d B\n", RootPathName, GB, MB, KB, B);}VOID PrintSpaceSize(){CHAR DriverName[3] = "::";for(DWORD dwDriver = GetLogicalDrives(), dw = 1;dwDriver != 0; dwDriver /= 2, ++dw){if(dwDriver % 2 == 1){switch(dw){/*case 1:DriverName[0] = 'A';//在WIN7正常,XP时,会使SpacdSize()中的GetDiskFreeSpace()出错,因为一般没插A盘SpaceSize(DriverName);  //“A:”会中断,XP下默认A盘是3.5英寸软盘,GetLastError()返回21为设备未就绪break;*/case 2:DriverName[0] = 'B';SpaceSize(DriverName);break;case 3:DriverName[0] = 'C';SpaceSize(DriverName);break;case 4:DriverName[0] = 'D';SpaceSize(DriverName);break;case 5:DriverName[0] = 'E';SpaceSize(DriverName);break;case 6:DriverName[0] = 'F';SpaceSize(DriverName);break;case 7:DriverName[0] = 'G';SpaceSize(DriverName);break;case 8:DriverName[0] = 'H';SpaceSize(DriverName);break;case 9:DriverName[0] = 'I';SpaceSize(DriverName);break;case 10:DriverName[0] = 'J';SpaceSize(DriverName);break;}}}}VOID AllSystemInfo(){ CHAR OS[24] = "Windows ";OS_Version(OS);printf("系统版本: %s\n",OS);GetSystemDir();SystemInfo();PrintSpaceSize();GetTime();}DWORD DeleteDirFile(LPSTR szPath){CHAR szFilePath[MAX_PATH];WIN32_FIND_DATA FindFileData;HANDLE hListFile;CHAR szFullPath[MAX_PATH];//子目录和文件夹路径的字符串,用通配符“*”lstrcpy(szFilePath, szPath);lstrcat(szFilePath, "\\*");//第一个文件和目录,获得句柄hListFile = FindFirstFile(szFilePath,&FindFileData);if(hListFile==INVALID_HANDLE_VALUE){//错误 处理switch(GetLastError()){case 3:printf("\n路径错误\n");break;case 5:printf("\n文件拒绝访问\n");break;case 21:printf("\n设备未就绪\n");break;case 111:printf("\n文件名太长\n");break;default:printf("\n错误编号:%d\n", GetLastError());}return 1;}else{do{//“.”和“..”不遍历if(lstrcmp(FindFileData.cFileName,TEXT("."))==0||lstrcmp(FindFileData.cFileName,TEXT(".."))==0){continue;}wsprintf(szFullPath,"%s\\%s",szPath,FindFileData.cFileName);printf("\n删除\t%s\t",szFullPath);//目录 就进去if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){printf("---------------------目录");DeleteDirFile(szFullPath);//RemoveDirectory(szFullPath);}else{DeleteFile(szFullPath);dwDeleteFile++;}}while(FindNextFile(hListFile, &FindFileData));}return 0;}VOID TimeDifference(SYSTEMTIME StOld, SYSTEMTIME StNow){WORD wMinute;WORD wSecond;WORD wMilliseconds;if(StNow.wMilliseconds < StOld.wMilliseconds){StNow.wSecond--;StNow.wMilliseconds += 1000;wMilliseconds = StNow.wMilliseconds - StOld.wMilliseconds;}else{wMilliseconds = StNow.wMilliseconds - StOld.wMilliseconds;}if(StNow.wSecond < StOld.wSecond){StNow.wMinute--;StNow.wSecond += 60;wSecond = StNow.wSecond - StOld.wSecond;}else{wSecond = StNow.wSecond - StOld.wSecond;}if(StNow.wMinute < StOld.wMinute){StNow.wMinute += 60;wMinute = StNow.wMinute - StOld.wMinute;}else{wMinute = StNow.wMinute - StOld.wMinute;}//printf("\n花时 %d分 %d秒 %d微秒\n", wMinute, wSecond, wMilliseconds);printf("\n花时");if(wMinute != 0){printf(" %d分", wMinute);}if(wSecond != 0){printf(" %d秒", wSecond);}if(wMilliseconds != 0){printf(" %d微秒\n", wMilliseconds);}}DWORD DeleteFileSuffix(LPSTR szPath, LPSTR Suffix){CHAR szFilePath[MAX_PATH];WIN32_FIND_DATA FindFileData;HANDLE hListFile;CHAR szFullPath[MAX_PATH];//子目录和文件夹路径的字符串,用通配符“*”lstrcpy(szFilePath, szPath);lstrcat(szFilePath, "\\*");//第一个文件和目录,获得句柄hListFile = FindFirstFile(szFilePath, &FindFileData);if(hListFile == INVALID_HANDLE_VALUE){//错误处理switch(GetLastError()){case 3:printf("\n路径错误\n");break;case 5:printf("\n文件拒绝访问\n");break;case 21:printf("\n设备未就绪\n");break;case 111:printf("\n文件名太长\n");break;default:printf("\n错误编号:%d\n", GetLastError());}return 1;}else{do{//“.”和“..”不遍历if(lstrcmp(FindFileData.cFileName, TEXT(".")) == 0 || lstrcmp(FindFileData.cFileName, TEXT("..")) == 0){continue;}wsprintf(szFullPath, "%s\\%s", szPath, FindFileData.cFileName);//路径//如果是目录,则进入if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){DeleteFileSuffix(szFullPath, Suffix);}else{if(szFullPath[strlen(szFullPath) - 1] == Suffix[2] &&szFullPath[strlen(szFullPath) - 2] == Suffix[1]&&szFullPath[strlen(szFullPath) - 3] == Suffix[0]   )  { ++dwDeleteFile; printf("\n删除\t%s", szFullPath); DeleteFile(szFullPath);  }}}while(FindNextFile(hListFile, &FindFileData));}return 0;}VOID DeleteRubbish(){SYSTEMTIME StOld;SYSTEMTIME StNow;//垃圾文件后缀CHAR TmpSuffix[4] = "tmp";CHAR LogSuffix[4] = "log";CHAR GidSuffix[4] = "gid";CHAR ChkSuffix[4] = "chk";CHAR OldSuffix[4] = "old";CHAR BakSuffix[4] = "bak";//统计删除垃圾文件数DWORD dwPrefetch = 0;DWORD dwTmp = 0;DWORD dwLog = 0;DWORD dwGid = 0;DWORD dwChk = 0;DWORD dwOld = 0;DWORD dwBak = 0;//位置//CHAR DeletePrefetch[MAX_PATH] = "C:\\Windows\\prefetch";////"D:\\a\\a";//CHAR DeleteTemp[MAX_PATH] = "C:\\Windows\\Temp";////"D:\\a\\b";//CHAR DeleteTmp[MAX_PATH] = "C:";// //"D:\\a\\c";//CHAR DeleteLog[MAX_PATH] = "C:";//    //"D:\\a\\c";//CHAR DeleteGid[MAX_PATH] = "C:";////"D:\\a\\c";//CHAR DeleteChk[MAX_PATH] = "C:";//     //"D:\\a\\c";//CHAR DeleteOld[MAX_PATH] = "C:";// //"D:\\a\\c";//CHAR DeleteBak[MAX_PATH] = "C:\\Windows";// //"D:\\a\\c";CHAR DeletePrefetch[MAX_PATH];GetWindowsDirectory(DeletePrefetch, MAX_PATH);strcat(DeletePrefetch, "\\Prefetch");CHAR DeleteTemp[MAX_PATH];GetWindowsDirectory(DeleteTemp, MAX_PATH);strcat(DeleteTemp, "\\Temp");CHAR DeleteTmp[MAX_PATH];GetWindowsDirectory(DeleteTmp, MAX_PATH);DeleteTmp[3] = '\0';CHAR DeleteLog[MAX_PATH];GetWindowsDirectory(DeleteLog, MAX_PATH);DeleteLog[3] = '\0';CHAR DeleteGid[MAX_PATH];GetWindowsDirectory(DeleteGid, MAX_PATH);DeleteGid[3] = '\0';CHAR DeleteChk[MAX_PATH];GetWindowsDirectory(DeleteChk, MAX_PATH);DeleteChk[3] = '\0';CHAR DeleteOld[MAX_PATH];GetWindowsDirectory(DeleteOld, MAX_PATH);DeleteOld[3] = '\0';CHAR DeleteBak[MAX_PATH];GetWindowsDirectory(DeleteBak, MAX_PATH);CHAR RootPathName[MAX_PATH];GetWindowsDirectory(RootPathName, MAX_PATH);RootPathName[2] = '\0';DWORD SectorsPerCluster;DWORD BytesPerSector;DWORD NumberOfFreeClusters;DWORD TotalNumberOfClusters;GetDiskFreeSpace(    RootPathName,    &SectorsPerCluster,            &BytesPerSector,    &NumberOfFreeClusters,            &TotalNumberOfClusters);DWORD64 OldFreeSpaceSize = (DWORD64)NumberOfFreeClusters * (DWORD64)BytesPerSector * (DWORD64)SectorsPerCluster;GetLocalTime(&StOld);printf("预读取文件\t删除中");DeleteDirFile(DeletePrefetch);dwPrefetch = dwDeleteFile;dwDeleteFile = 0;printf("\n临时文件\t删除中");DeleteFileSuffix(DeleteTmp, TmpSuffix);DeleteDirFile(DeleteTemp);dwTmp += dwDeleteFile;dwDeleteFile = 0;printf("\n日志文件\t删除中");DeleteFileSuffix(DeleteLog, LogSuffix);dwLog = dwDeleteFile;dwDeleteFile = 0;printf("\n索引文件\t删除中");DeleteFileSuffix(DeleteGid, GidSuffix);dwGid = dwDeleteFile;dwDeleteFile = 0;printf("\n文件碎片\t删除中");DeleteFileSuffix(DeleteChk, ChkSuffix);dwChk = dwDeleteFile;dwDeleteFile = 0;printf("\n过期文件\t删除中");DeleteFileSuffix(DeleteOld, OldSuffix);dwOld = dwDeleteFile;dwDeleteFile = 0;printf("\n备份文件\t删除中");DeleteFileSuffix(DeleteBak, BakSuffix);dwBak = dwDeleteFile;dwDeleteFile = 0;GetLocalTime(&StNow);GetDiskFreeSpace(RootPathName,&SectorsPerCluster,        &BytesPerSector,&NumberOfFreeClusters,        &TotalNumberOfClusters);DWORD64 NowFreeSpaceSize = (DWORD64)NumberOfFreeClusters * (DWORD64)BytesPerSector * (DWORD64)SectorsPerCluster;DWORD64 DeleteSpaceSize = NowFreeSpaceSize - OldFreeSpaceSize;DWORD GB = DeleteSpaceSize / ((DWORD64)1024 * (DWORD64)1024 * (DWORD64)1024);DeleteSpaceSize -= GB * ((DWORD64)1024 * (DWORD64)1024 * (DWORD64)1024);DWORD MB = DeleteSpaceSize / ((DWORD64)1024 * (DWORD64)1024);DeleteSpaceSize -= MB * ((DWORD64)1024 * (DWORD64)1024);DWORD KB = DeleteSpaceSize / 1024;DeleteSpaceSize -= KB * 1024;DWORD B = DeleteSpaceSize;printf("\n完毕\n");printf("删除 预读取文件\t%d\n", dwPrefetch);printf("删除 临时文件\t%d\n", dwTmp);printf("删除 日志文件\t%d\n", dwLog);printf("删除 索引文件\t%d\n", dwGid);printf("删除 文件碎片\t%d\n", dwChk);printf("删除 过期文件\t%d\n", dwOld);printf("删除 备份文件\t%d\n", dwBak);//printf("删除  %d GB  %d MB  %d KB  %d B 的垃圾文件", GB, MB, KB, B);if(GB == 0 && MB == 0 && KB == 0 && B == 0){printf("您的系统非常干净\n");return;}printf("删除");if(GB != 0){if(GB < 0){GB = -GB;}printf("  %d GB", GB);}if(MB != 0){printf("  %d MB", MB);}if(KB != 0){printf("  %d KB", KB);}if(B != 0){printf("  %d B", B);}printf(" 的垃圾文件");TimeDifference(StOld, StNow);}DWORD FindDirFile(LPSTR szPath){CHAR szFilePath[MAX_PATH];WIN32_FIND_DATA FindFileData;HANDLE hListFile;CHAR szFullPath[MAX_PATH];//子目录和文件夹路径的字符串,用通配符“*”lstrcpy(szFilePath, szPath);lstrcat(szFilePath, "\\*");//第一个文件和目录,获得句柄hListFile = FindFirstFile(szFilePath, &FindFileData);if(hListFile == INVALID_HANDLE_VALUE){//错误处理switch(GetLastError()){case 3:printf("\n路径错误\n");break;case 5:printf("\n文件拒绝访问\n");break;case 21:printf("\n设备未就绪\n");break;case 111:printf("\n文件名太长\n");break;default:printf("\n错误编号:%d\n", GetLastError());}return 1;}else{do{//“.”和“..”不遍历if(lstrcmp(FindFileData.cFileName, TEXT(".")) == 0 || lstrcmp(FindFileData.cFileName, TEXT("..")) == 0){continue;}wsprintf(szFullPath, "%s\\%s", szPath, FindFileData.cFileName);//路径Total++;dwFile++;printf("\n%d\t%s", Total, szFullPath);//如果是目录,则进入if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){printf("--------------------------------目录");dwFolder++;dwFile--;FindDirFile(szFullPath);}}while(FindNextFile(hListFile, &FindFileData));//while(0);//找到回收站}return 0;}//转化格式在\后面在加个\,eg:“\”→“\\”VOID Conversion(CHAR* c){for(int i = 0; i < strlen(c)+1; ++i){if(c[i] == '\\'){for(int j = strlen(c)+1; j >= i ; --j){c[j+1] = c[j]; }c[strlen(c)+1] = '\0';i += 2;}}}VOID StatisticsFile(VOID){SYSTEMTIME StOld;SYSTEMTIME StNow;CHAR szCurrentPath[MAX_PATH];printf("输入盘符或文件夹路径(例如 D: 或者 D:\\360safe )\n路径:");scanf("%s", szCurrentPath);Conversion(szCurrentPath);GetLocalTime(&StOld);FindDirFile(szCurrentPath);GetLocalTime(&StNow);printf("\n文件总数%d:\t", dwFile);printf("文件夹总数%d:", dwFolder);TimeDifference(StOld, StNow);}//VOID GetUserNameDocuments(LPSTR c)//{//CHAR Document[30] = "\\Documents\\Tencent Files";//CHAR UserName[50];//DWORD Size = MAX_PATH;//GetUserName(UserName, &Size);////printf("%s\n", UserName);//strcat(c, UserName);  //    strcat(c, Document);  //}VOID QQClean(){SYSTEMTIME StOld;SYSTEMTIME StNow;printf("QQ垃圾");CHAR DeleteQQ[MAX_PATH];GetWindowsDirectory(DeleteQQ, MAX_PATH);DeleteQQ[3] = '\0';//printf("%s\n", DeleteQQ);OSVERSIONINFO OS;OS.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);GetVersionEx(&OS);switch(OS.dwMajorVersion){//XPcase 5:strcat(DeleteQQ, "Documents and Settings\\");break;//Win7case 6:strcat(DeleteQQ, "Users\\");break;}DWORD Size = MAX_PATH;CHAR  UserName[20];GetUserName(UserName, &Size);strcat(DeleteQQ, UserName);switch(OS.dwMajorVersion){//XPcase 5:strcat(DeleteQQ, "\\My Documents\\Tencent Files");break;//Win7case 6:strcat(DeleteQQ, "\\Documents\\Tencent Files");break;}GetLocalTime(&StOld);DeleteDirFile(DeleteQQ);GetLocalTime(&StNow);//printf("\n共删除 %d QQ文件\n\n", dwDeleteFile);printf("\n还原完毕\n");TimeDifference(StOld, StNow);}VOID Clear0(DWORD *Total, DWORD *dwFile, DWORD *dwFolder, DWORD *dwDeleteFile){*Total = 0;*dwFile = 0;*dwFolder = 0;*dwDeleteFile = 0;}VOID DeleteTrace(){SYSTEMTIME StOld;SYSTEMTIME StNow;CHAR DeleteCookies[MAX_PATH];CHAR DeleteHistory[MAX_PATH];CHAR UserName[MAX_PATH];DWORD Size = MAX_PATH;GetUserName(UserName, &Size);printf("清理痕迹\n");GetLocalTime(&StOld);GetWindowsDirectory(DeleteCookies, MAX_PATH);DeleteCookies[3] = '\0';GetWindowsDirectory(DeleteHistory, MAX_PATH);DeleteHistory[3] = '\0';OSVERSIONINFO OS;OS.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);GetVersionEx(&OS);switch(OS.dwMajorVersion){//XPcase 5:strcat(DeleteCookies, "Documents and Settings\\");strcat(DeleteHistory, "Documents and Settings\\");strcat(DeleteCookies, UserName);strcat(DeleteHistory, UserName);strcat(DeleteCookies, "\\Local Settings\\Temporary Internet Files");strcat(DeleteHistory, "\\Local Settings\\History\\History.IE5");DeleteDirFile(DeleteCookies);DeleteDirFile(DeleteHistory);break;//Win7case 6:strcat(DeleteCookies, "Users\\");strcat(DeleteCookies, UserName);strcat(DeleteCookies, "\\AppData\\Roaming\\Microsoft\\Windows\\Cookies");DeleteDirFile(DeleteCookies);break;}GetLocalTime(&StNow);TimeDifference(StOld, StNow);}int main(){while(1){Show();int i;scanf("%d", &i);switch(i){case 1:AllSystemInfo();Clear0(&Total, &dwFile, &dwFolder, &dwDeleteFile);break;case 2:DeleteRubbish();Clear0(&Total, &dwFile, &dwFolder, &dwDeleteFile);break;case 3:QQClean();Clear0(&Total, &dwFile, &dwFolder, &dwDeleteFile);break;case 4:StatisticsFile();Clear0(&Total, &dwFile, &dwFolder, &dwDeleteFile); break;case 5:DeleteTrace();Clear0(&Total, &dwFile, &dwFolder, &dwDeleteFile);break;default:return 0;}}}


原创粉丝点击