www.pudn.com > Clean.rar > DelUselessFileDlg.cpp
// DelUselessFileDlg.cpp : implementation file // #include "stdafx.h" #include "Clean.h" #include "DelUselessFileDlg.h" #include#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDelUselessFileDlg dialog CDelUselessFileDlg::CDelUselessFileDlg(CWnd* pParent /*=NULL*/) : CDialog(CDelUselessFileDlg::IDD, pParent) { //{{AFX_DATA_INIT(CDelUselessFileDlg) m_bAAA = FALSE; m_bBAK = FALSE; m_bCHK = FALSE; m_bGID = FALSE; m_bHP = FALSE; m_bOLD = FALSE; m_bQP = FALSE; m_bSSS = FALSE; m_bTMP = FALSE; //}}AFX_DATA_INIT } void CDelUselessFileDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDelUselessFileDlg) DDX_Control(pDX, IDC_STATIC_HINT, m_Hint); DDX_Control(pDX, IDC_LIST_FILE, m_List); DDX_Check(pDX, IDC_CHECK_AAA, m_bAAA); DDX_Check(pDX, IDC_CHECK_BAK, m_bBAK); DDX_Check(pDX, IDC_CHECK_CHK, m_bCHK); DDX_Check(pDX, IDC_CHECK_GID, m_bGID); DDX_Check(pDX, IDC_CHECK_HP, m_bHP); DDX_Check(pDX, IDC_CHECK_OLD, m_bOLD); DDX_Check(pDX, IDC_CHECK_QP, m_bQP); DDX_Check(pDX, IDC_CHECK_SSS, m_bSSS); DDX_Check(pDX, IDC_CHECK_TMP, m_bTMP); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDelUselessFileDlg, CDialog) //{{AFX_MSG_MAP(CDelUselessFileDlg) ON_BN_CLICKED(IDC_BUTTON_FOLDER, OnButtonFolder) ON_BN_CLICKED(IDC_BUTTON_FIND, OnButtonFind) ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel) ON_BN_CLICKED(IDC_CHECK_AAA, OnCheckAaa) ON_BN_CLICKED(IDC_CHECK_BAK, OnCheckBak) ON_BN_CLICKED(IDC_CHECK_CHK, OnCheckChk) ON_BN_CLICKED(IDC_CHECK_GID, OnCheckGid) ON_BN_CLICKED(IDC_CHECK_HP, OnCheckHp) ON_BN_CLICKED(IDC_CHECK_OLD, OnCheckOld) ON_BN_CLICKED(IDC_CHECK_QP, OnCheckQp) ON_BN_CLICKED(IDC_CHECK_SSS, OnCheckSss) ON_BN_CLICKED(IDC_CHECK_TMP, OnCheckTmp) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDelUselessFileDlg message handlers BOOL CDelUselessFileDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDelUselessFileDlg::OnButtonFolder() { // TODO: Add your control notification handler code here BROWSEINFO bi; TCHAR szDisplayName[MAX_PATH] = {'\0'}; LPITEMIDLIST pidl; LPMALLOC pMalloc = NULL; ZeroMemory(&bi, sizeof(BROWSEINFO)); bi.hwndOwner = NULL;//hwnd; bi.pszDisplayName = szDisplayName; bi.lpszTitle = TEXT("选择文件夹"); bi.ulFlags = BIF_RETURNONLYFSDIRS; pidl = SHBrowseForFolder(&bi); if(pidl) { SHGetPathFromIDList(pidl, szDisplayName); SetDlgItemText(IDC_EDIT_PATH, szDisplayName); } if (SHGetMalloc(&pMalloc) == NOERROR) pMalloc->Free((void *)pidl); } void CDelUselessFileDlg::OnCheckAaa() { // TODO: Add your control notification handler code here m_bAAA = !m_bAAA; } void CDelUselessFileDlg::OnCheckBak() { // TODO: Add your control notification handler code here m_bBAK = !m_bBAK; } void CDelUselessFileDlg::OnCheckChk() { // TODO: Add your control notification handler code here m_bCHK = !m_bCHK; } void CDelUselessFileDlg::OnCheckGid() { // TODO: Add your control notification handler code here m_bGID = !m_bGID; } void CDelUselessFileDlg::OnCheckOld() { // TODO: Add your control notification handler code here m_bOLD = !m_bOLD; } void CDelUselessFileDlg::OnCheckSss() { // TODO: Add your control notification handler code here m_bSSS = !m_bSSS; } void CDelUselessFileDlg::OnCheckTmp() { // TODO: Add your control notification handler code here m_bTMP = !m_bTMP; } void CDelUselessFileDlg::OnCheckHp() { // TODO: Add your control notification handler code here m_bHP = !m_bHP; } void CDelUselessFileDlg::OnCheckQp() { // TODO: Add your control notification handler code here m_bQP = !m_bQP; } void CDelUselessFileDlg::OnButtonFind() { // TODO: Add your control notification handler code here if(!m_bBAK && !m_bTMP && !m_bAAA && !m_bCHK && !m_bGID && !m_bOLD && !m_bQP && !m_bHP && !m_bSSS) { AfxMessageBox("请选择文件类型!"); return ; } CString strBuff; GetDlgItemText(IDC_EDIT_PATH, strBuff); int len = strBuff.GetLength(); if(len==0) { AfxMessageBox("请选选择搜索文件夹!"); return ; } if(strBuff.Right(1) != _T('\\')) strBuff = strBuff + _T("\\"); m_List.ResetContent(); // m_FileFind.EnableWindow(FALSE); FFind(strBuff); UINT count = m_List.GetCount(); CString str; str.Format("查到[%d]个文件", count); m_Hint.SetWindowText(str); // m_FileFind.EnableWindow(TRUE); } void CDelUselessFileDlg::OnButtonDel() { // TODO: Add your control notification handler code here UINT i=0; CStringArray sa; CString strBuff; UINT count = m_List.GetCount(); if(count==0) return; for(i=0;i 0;i--) { TCHAR ch = strName.GetAt(i); if(ch == _T('\\')) { if(strName.GetAt(i+1) == _T('~')) m_List.AddString(ff.GetFilePath()); break; } } } if(m_bHP) // [~] 在扩展名前 { CString strName; strName = ff.GetFilePath(); int len = strName.GetLength(); for(i=len-1;i>0;i--) { TCHAR ch = strName.GetAt(i); if(ch == _T('.')) { if(strName.GetAt(i+1) == _T('~')) m_List.AddString(ff.GetFilePath()); break; } } } m_Hint.SetWindowText(ff.GetFilePath()); } } }