⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 findfilethread.cpp

📁 参照别人的程序我做了这个动态改变界面的演示
💻 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 + -