国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

VC++文件監控之FindFirstChangeNotification

2020-01-26 13:29:22
字體:
來源:轉載
供稿:網友

原因:

因為ReadDirectoryChangesW 上次測試發現不能多級目錄監控,

所以嘗試用FindFirstChangeNotification來實施文件監控。

關鍵代碼:

CFolderMonitorDlg *dlg = (CFolderMonitorDlg*)lParam;   HANDLE hEvent;//監控句柄  CString path ;//監控目錄  GetCurrentDirectory(MAX_PATH,path.GetBuffer(MAX_PATH+1));  hEvent = FindFirstChangeNotification(path,TRUE,FILE_NOTIFY_CHANGE_FILE_NAME| //查看指定目錄下任何文件名的改變                          FILE_NOTIFY_CHANGE_DIR_NAME|  //查看指定目錄下任何目錄名的改變                          FILE_NOTIFY_CHANGE_SIZE|    //查看指定文件大小的改變                          FILE_NOTIFY_CHANGE_ATTRIBUTES);//查看指定目錄下文件屬性的改變      if (hEvent == INVALID_HANDLE_VALUE)  {    ExitProcess(GetLastError());//獲取錯誤    return 0 ;  }  while (TRUE)//循環監控  {         DWORD nObj = WaitForSingleObject(hEvent,INFINITE);//等待,文件夾任何動作,都返回0,顧不能知道具體動作和具體哪個文件發生了變化    if (nObj)    {      dlg->m_edit.ReplaceSel("被病毒修改了文件/r/n");    }         dlg->m_edit.ReplaceSel("文件發生了變化,具體發生什么變化,無從考證/r/n");         //繼續監控    if(FALSE==FindNextChangeNotification(hEvent))    {      ExitProcess(GetLastError());      return 0;    }  }   return 0 ;

效果圖:

最后:

因為代碼很少,就不介紹了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平顶山市| 资阳市| 庆元县| 云南省| 华坪县| 太白县| 青海省| 铁岭县| 洪雅县| 衡阳市| 忻州市| 兰西县| 静乐县| 安平县| 万全县| 中西区| 烟台市| 克拉玛依市| 旅游| 洪湖市| 吉木萨尔县| 卢湾区| 鸡西市| 大英县| 敦化市| 开封县| 措勤县| 蒙自县| 石家庄市| 荣成市| 安丘市| 博兴县| 乌兰浩特市| 济阳县| 芦溪县| 竹北市| 五家渠市| 南华县| 巴里| 吕梁市| 永济市|