390上位机VC MFC编写系统垃圾文件清理工具
390上编写系统垃圾文件清理工具功能展示
我们电脑上的软件在运行时都会产生大量的临时文件,这些存放在不同磁盘的临时文件如果在使用后没有及时删除就成了垃圾文件,日复一日垃圾文件就会越来越多,影响电脑的运行效率,市面上已有很多清理工具,但都是针对大众通用文件,我们当前例程DIY实现指定文件类型的扫描及清除功能,效果如图,选择文件类型(文件类型可自己DIY)选择要扫描的盘符就可扫描出文件,并显示在列表控件中,然后就可删除已经扫描出来的文件,删除操作的错误结果也会显示出来
要点提示
文件的查找,例程中主要是通过类CFileFind的成员函数实现。主要有FindFile(),FindNextFile(),GetFileName(),IsDots(),IsDirectory();
FindFile()用于查找指定文件。
FindNextFile()用于查找下一个文件,通过返回值来判断是否为要查找 的文件。
GetFileName()用于获取查找到文件的文件名。
IsDots()用于为判断目标文件是否是”.” 或”..”。
IsDirectory()用于判断目标文件是否是文件夹。
实现功能
1.新建基于对话框的应用程序
2.依照例程界面添加20个选择框操作作为要扫描的文件后缀,控件过多,嫌麻烦可直接复制操作,注意控件的ID。添加组合框IDC_DISK作为盘符的显示。添加列表框控件IDC_SCANEINFO作为扫描到的文件显示。添加列表框IDC_DELETEINFO作为删除文件的操作信息。添加一文件控件IDC_FINDPROGRESS作为扫描过程的状态显示。
再添加按钮控件<全选><全不选><开始扫描><停止扫描><全部删除>关联按钮的点击函数
3.在主对话框类中包含头文件#include <afxtempl.h>并添加自定义变量及函数
public:
void EnumDisks();//获取系统全部磁盘盘符
BOOL IsTmpFile(CString szFileName);//查看是否是要查找 的文件
void ResearchFile(CString szPath);//查找文件
void GetTmpExtendedName();//获取用户选中要查找的后缀
void SetFindFlag(CString sText);//设置查找状态提示文本
public:
CList<CString ,CString&> m_FilterList; //临时文件扩展名
BOOL m_bFinding; //查找进行中
BOOL m_bStopFind;
CString m_szScaneDisk; //当前扫描的磁盘
并在初始化函数OnInitDialog()中初始化变量
CListCtrl *pListCtrl = (CListCtrl*)GetDlgItem(IDC_SCANEINFO);
pListCtrl->SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
pListCtrl->ModifyStyle(0,LVS_REPORT,0);
pListCtrl->InsertColumn(0, "文件路径", LVCFMT_LEFT, 1000);
CListBox *pListBox = (CListBox*)GetDlgItem(IDC_DELETEINFO);
pListBox->SendMessage(LB_SETHORIZONTALEXTENT, 1000, 0);
EnumDisks();
m_bFinding = FALSE;
4.编译会出错,这是因为扫描按钮的点击函数调用了一多线程函数ThreadProc ,在主对话框源文件顶部添加这一函数
DWORD __stdcall ThreadProc(LPVOID lpParameter)
{
CGkbc8Dlg* pDlg = (CGkbc8Dlg*)lpParameter;
pDlg->m_bFinding = TRUE;
pDlg->ResearchFile(pDlg->m_szScaneDisk);
pDlg->SetFindFlag("查找结束!");
pDlg->m_bFinding = FALSE;
return 0;
}
我们来演示下功能实现的整个过程位机VC MFC编写系统垃圾文件清理工具
如果您认可,可联系功能定制! 如果您着急,充值会员可直接联系发您资料!
|