📄 findfilethread.cpp
字号:
// FindFileThread.cpp : implementation file
//
#include "stdafx.h"
#include "mtou.h"
#include "FindFileThread.h"
#include "MtoUDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
IMPLEMENT_DYNCREATE(CFindFileThread, CWinThread)
CFindFileThread::CFindFileThread()
{
}
CFindFileThread::~CFindFileThread()
{
}
BOOL CFindFileThread::InitInstance()
{
return TRUE;
}
int CFindFileThread::ExitInstance()
{
return CWinThread::ExitInstance();
}
BEGIN_MESSAGE_MAP(CFindFileThread, CWinThread)
//{{AFX_MSG_MAP(CFindFileThread)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
ON_MESSAGE(WM_BEGINFIND, OnBeginFind)
END_MESSAGE_MAP()
LONG CFindFileThread::OnBeginFind(WPARAM wParam, LPARAM lParam)
{
pDlg = (CMtoUDlg *)wParam;
CString m_FindingDir = pDlg->GetFindingDir();
m_FileName = pDlg->GetFileName();
pDlg->m_listfindfile.ResetContent();
m_sList.AddTail(m_FindingDir);
DWORD dwTime = ::GetTickCount();
FindAllFile();
dwTime = ::GetTickCount() - dwTime;
pDlg->PostMessage(WM_ENDFIND, (WPARAM)this, (LPARAM)dwTime);
return 1;
}
void CFindFileThread::FindAllFile()
{
if(m_sList.IsEmpty())
return;
CString m_CurrentDir = m_sList.RemoveTail();
if(!::SetCurrentDirectory(m_CurrentDir))
return;
CFileFind* pFinder = new CFileFind;
//Find all files under the directory
BOOL isWorking = pFinder->FindFile(m_FileName);
while(isWorking)
{
isWorking = pFinder->FindNextFile();
if(! (pFinder->IsDirectory() || pFinder->IsHidden()) )
{
pDlg->m_listfindfile.AddString(pFinder->GetFilePath());
pDlg->m_filecount++;
}
}
//Find all child dirctorys under the directoy
isWorking=pFinder->FindFile("*.*");
while(isWorking)
{
isWorking = pFinder->FindNextFile();
if(pFinder->IsDirectory() && !pFinder->IsDots() && !pFinder->IsHidden() )
{
m_sList.AddTail(pFinder->GetFilePath());
}
}
delete pFinder;
FindAllFile();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -