QQ登录

只需一步,快速开始

166上位机VC MFC多线程快速文件搜索

[ 复制链接 ]

166上位机VC MFC多线程快速文件搜索

166上位机VC MFC多线程快速文件搜索

166上位机VC MFC多线程快速文件搜索


功能展示

文件的搜索在上位机开发时也是常用到的功能,我们当前例程实现多线程环境下在任何位置中文件的搜索功能,可以整个文件名搜索部分文件名搜索,后缀进行搜索,效果如图;
要点提示
文件的搜索我们可以使用类CFileFind中的成员函数为实现;主要有函数有FileFile()用于查找指定文件;FindNextFile()用于查找下一文件名,通过返回值可以判断是否是查找的文件;
IsDots() 用于判断目标文件是否是 “.”或”..”;
IsDirectory()用于判断目标文件是否是文件夹;
GetFileName()用于获取查找到的文件的文件名;
GetFilePath()用于获取查找到的文件的绝对路径;





实现功能
1.新建基于对话框的应用程序
2.拖拽一编辑框ID为IDC_EDIT1用于显示要查找的文件夹路径;
拖拽一按钮关联函数,用于浏览打开要查找的文件夹
拖拽一编辑框ID为IDC_EDIT2,用于输入要查找的文件名;
拖拽两按钮查找,停止查找,用于开始与停止 查找;

拖拽一列表框用于罗列出查找到的文件;按钮函数依次为
  1. void CGkbc8Dlg::OnAdd()
  2. {
  3.         BROWSEINFO bi;   
  4.         char buffer[MAX_PATH];   
  5.         ZeroMemory(buffer,MAX_PATH);   
  6.         bi.hwndOwner=GetSafeHwnd();   
  7.         bi.pidlRoot=NULL;   
  8.         bi.pszDisplayName=buffer;   
  9.         bi.lpszTitle="选择文件夹";   
  10.         bi.ulFlags=BIF_EDITBOX;   
  11.         bi.lpfn=NULL;   
  12.         bi.lParam=0;   
  13.         bi.iImage=0;
  14.         LPITEMIDLIST pList=NULL;   
  15.         if((pList=SHBrowseForFolder(&bi))!=NULL)   
  16.         {   
  17.                 SHGetPathFromIDList(pList,buffer);
  18.                 SetDlgItemText(IDC_EDIT1,buffer);}
复制代码
  1. void CGkbc8Dlg::OnFind() //开户线程查找
  2. {
  3.         CWinThread* pThread = AfxBeginThread(
  4.                                 FindFileThreadFunc,
  5.                                 this,
  6.                                 THREAD_PRIORITY_NORMAL,
  7.                                 0,
  8.                                 0);
  9.         ASSERT_VALID( pThread );
  10. }
  11. void CGkbc8Dlg::OnBtstop()
  12. {
  13.         m_bIsWaitStop = TRUE;        
  14. }
  15. 其中FindFileThreadFunc为线程函数
  16. UINT FindFileThreadFunc( LPVOID lParam )
  17. {
  18.         CGkbc8Dlg* pArent = (CGkbc8Dlg*)lParam;
  19.         pArent->FindFile();
  20.         return 0;
  21. }
复制代码
线程函数中又调用查找文件函数实现文件查找功能
m_bIsWaitStop为添加的标识是否停止 搜索的变量,如果点击停止,将绘终止线程退出搜索;
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:166.上位机VC MFC多线程快速文件搜索.rar 
文件大小:153.64 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!




回复

使用道具 举报

快速回复 返回列表 客服中心 搜索