WEB开发网
开发学院软件开发VC 一个用多线程实现文件查找的例子 阅读

一个用多线程实现文件查找的例子

 2006-07-20 11:42:06 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 本程序用多线程的思想实现了一个文件查找类CRapidFinder,以加速文件的查找,运行效果图如下:其中成员函数://设置程序主窗口句柄,一个用多线程实现文件查找的例子,要匹配的文件名,路径名void FinderSet(HWND MainHwnd,CString MatchName=

本文示例源代码或素材下载

本程序用多线程的思想实现了一个文件查找类CRapidFinder,以加速文件的查找,运行效果图如下:

其中成员函数:

//设置程序主窗口句柄,要匹配的文件名,路径名
void FinderSet(HWND MainHwnd,CString MatchName="*.*",CString MatchDir="");
//设置线程数及优先级
void ThreadSet(LONG MaxThreadCount=5,int priority=0);
//搜索选项
void FinderOption(FINDEROPTION FinderOption);
  
//查找操作
BOOL StartFinder();    //开始查找
void PauseFinder();    //暂停查找
void ResumeFinder();    //继续查找
void StopFinder();     //停止查找
void FinderReset();    //查找重置
      
//搜索选项
void FinderOption(FINDEROPTION FinderOption);

每个线程通过自定义的消息与UI线程通信,反映当前的查找进度与查找结果。

//自定义通知消息==========================================================
//WM_THREADEXIT 主线程结束  WPARAM: 结束码
//WM_THREADCOUNT 活动线程数目 WPARAM: 线程数
//WM_FINDERITEM 查找结果   WPARAM: 结果字符串地址 LPARAM:文件属性
//WM_THREADPAUSE 程序暂停
//WM_FINDERFOLDER当前查找目录 WPARAM: 目录字符串地址
//==================================================================

可通过ThreadSet()设置线程的数目与优先级,这样MainThreadProc()中就会产生相应数目的线程

1 2  下一页

Tags:一个 线程 实现

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接