You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.6 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//文件 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;
};