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;i0;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()); 
		} 
	} 
}