////////////////////////////////////////////////////////////////////////////// //文件 FindFileEx.cpp //主要功能: // 文件查找 // //程序编写: 2005-12-07 ///////////////////////////////////////////////////////////////////////////// #pragma once class AFX_EXT_CLASS CFindFileEx { private: CString m_FindWhat; int IsBreak; ULONGLONG fileLength; public: CFindFileEx(void); virtual ~CFindFileEx(void); void FindFile(const CString strDir); //发现指定目录下的文件 int FindFile(CString strDir, CString sFindWhat, BOOL bHasSubDir); //发现文件 void FindDirectory(const CString dt, BOOL bHasSubDir, BOOL bFindFile); //发现目录及目录下的文件(bFindFile=true) ULONGLONG GetFindedFileLength(void); //获得所发现文件的总长度 void Clear(void); void DeleteDirectory(const CString strDir, int *fn=NULL, int *dn=NULL); //彻底删除 static void FindMessage(); static int MoveTo(LPCTSTR lpszSourceDir, LPCTSTR lpszDestDir); //移动目录下的所有内容到指定目录 static int DeleteFile(LPCTSTR lpszFileName, BOOL bToRecycleBin=TRUE); //删除文件到回收站或特区彻底删除 static int DeleteDirectoryToRecycleBin(LPCTSTR lpszDir); //删除到回收站 static BOOL IsDirectoryExists(CString strDir); //目录是否存在 static BOOL IsFileExists(LPCTSTR lpszFileName); //文件是否存在 static BOOL MakeDirectory(CString strDirPath); //创建多级目录 protected: virtual void FindOneDirectory(CString strDir); virtual void FindOneFile(CString name); void DeleteOneDirectory(const CString dt, int *fn, int *dn); void DeleteFileInDirectory(const CString x, int *fn); public: CStringArray m_FileList; CStringArray m_DirectoryList; CListBox *pBox; };