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

阅读: 评论:0

//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还原tn");
	printf("4: 统计文件t");
	printf("5: 清理痕迹t");
	printf("其他: 退出nn");
}


VOID GetSystemDir()
{	
	CHAR UserName[MAX_PATH];
	DWORD dw = MAX_PATH;

	GetUserName(UserName, &dw);
	printf("用户名: %sn", UserName);

	CHAR SystemDir[MAX_PATH];
	CHAR WindowDir[MAX_PATH];

	GetSystemDirectory(SystemDir, MAX_PATH);
	GetWindowsDirectory(WindowDir, MAX_PATH);

	printf("系统目录:%snWindows目录:%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("386n");
		break;
	case PROCESSOR_INTEL_486:
		printf("486n");
		break;
	case PROCESSOR_INTEL_PENTIUM:
		printf("pentium, Cpu Model 0x%.2X, Stepping 0x%.2Xn",(BYTE)(SysInfo.wProcessorRevision>>8), (BYTE)SysInfo.wProcessorRevision);
		break;	
	case PROCESSOR_INTEL_IA64:
		printf("IA64n");
		break;
	case PROCESSOR_AMD_X8664:
		printf("AMD x86 64n");
		break;
	}

	printf("处理器架构: ");
	switch (SysInfo.wProcessorArchitecture)
	{
	case PROCESSOR_ARCHITECTURE_INTEL:
		printf("intel");
		printf(" CPU vendor is %dn",SysInfo.wProcessorLevel);
		break;
	case PROCESSOR_ARCHITECTURE_IA64:
		printf("64 bits inteln");
		break;
	case PROCESSOR_ARCHITECTURE_AMD64:
		printf("64 bits AMDn");
		break;
	case PROCESSOR_ARCHITECTURE_UNKNOWN:
		printf("UNKNOWNn");
		break;
	}

}


VOID GetTime()
{
	SYSTEMTIME st;
	// 获取时间
	GetLocalTime( &st );
	printf("日期:  %d-%d-%dn", st.wYear, st.wMonth, st.wDay);
	printf("时间:  %d:%d:%dn", 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 %dn",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, %dn",  NumberOfFreeC

本文发布于:2025-04-04 04:28:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1743712086583743.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23