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++
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;
|
|
};
|