VC++文件监控之ReadDirectoryChangesW-创新互联

我这里只介绍采用ReadDirectoryChangesW对文件目录实施监控

创新互联建站专注于丰台网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供丰台营销型网站建设,丰台网站制作、丰台网页设计、丰台网站官网定制、重庆小程序开发公司服务,打造丰台网络公司原创品牌,更为您提供丰台网站排名全网营销落地服务。

关键代码

CfgdsgDlg * dlg = (CfgdsgDlg*)lparam;
 
  HANDLE hDir; 
  char notify[1024]; 
  DWORD cbBytes,i; 
  char AnsiChar[3]; 
  wchar_t UnicodeChar[2]; 
  CString path;
 
  FILE_NOTIFY_INFORMATION *pnotify=(FILE_NOTIFY_INFORMATION *)notify; 
  FILE_NOTIFY_INFORMATION *tmp; 
 
  GetCurrentDirectory(MAX_PATH,path.GetBuffer(MAX_PATH+1));
  hDir = CreateFile( path, FILE_LIST_DIRECTORY,
    FILE_SHARE_READ | 
    FILE_SHARE_WRITE | 
    FILE_SHARE_DELETE, NULL, 
    OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | 
    FILE_FLAG_OVERLAPPED, NULL); 
  if (hDir == INVALID_HANDLE_VALUE) 
  { 
 
    dlg->m_edit.ReplaceSel("hDir:INVALID_HANDLE_VALUE\r\n");
    return 0;
  } 
 
  while (TRUE) 
  { 
    if(ReadDirectoryChangesW(hDir, ¬ify, sizeof(notify),
      FALSE, FILE_NOTIFY_CHANGE_FILE_NAME| FILE_NOTIFY_CHANGE_LAST_WRITE, 
      &cbBytes, NULL, NULL)) 
    { 
 
      tmp = pnotify; 
 
      switch(tmp->Action) 
      { 
      case FILE_ACTION_ADDED: 
 
        dlg->m_edit.ReplaceSel("Directory/File added (添加文件)- \r\n");
        break; 
      case FILE_ACTION_REMOVED:
        dlg->m_edit.ReplaceSel("Directory/File removed (删除文件)- \r\n");
        break; 
      case FILE_ACTION_MODIFIED: 
        dlg->m_edit.ReplaceSel("Directory/File modified (修改文件内容)- \r\n");
        break; 
      case FILE_ACTION_RENAMED_OLD_NAME: 
        dlg->m_edit.ReplaceSel("Directory/File old name (修改文件名字)- \r\n");
        break; 
      case FILE_ACTION_RENAMED_NEW_NAME: 
        dlg->m_edit.ReplaceSel("Directory/File new name - \r\n");
        break; 
      default: 
        break; 
      }
    }
  }

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:VC++文件监控之ReadDirectoryChangesW-创新互联
网页URL:http://azwzsj.com/article/dscedc.html