admin管理员组文章数量:1026989
//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);
//1
VOID GetSystemDir(VOID); //获取系统位置
VOID SystemInfo(VOID); //获取系统信息
VOID GetTime(VOID); //获取时间
VOID SpaceSize(CHAR *RootPathName);
VOID PrintSpaceSize();
VOID AllSystemInfo(VOID);
//2
VOID DeleteRubbish(VOID); //删除垃圾文件
//3
VOID QQClean(VOID);//Win7 / XP
//VOID GetUserNameDocuments(LPSTR c);//获取用户名
//4
VOID 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", NumberOfFreeC
//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);
//1
VOID GetSystemDir(VOID); //获取系统位置
VOID SystemInfo(VOID); //获取系统信息
VOID GetTime(VOID); //获取时间
VOID SpaceSize(CHAR *RootPathName);
VOID PrintSpaceSize();
VOID AllSystemInfo(VOID);
//2
VOID DeleteRubbish(VOID); //删除垃圾文件
//3
VOID QQClean(VOID);//Win7 / XP
//VOID GetUserNameDocuments(LPSTR c);//获取用户名
//4
VOID 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", NumberOfFreeC
版权声明:本文标题:windows垃圾清理源代码 CC++ 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1743712082a2016816.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论