VC++文件监控之FindFirstChangeNotification的示例分析
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,小编给大家分享一下VC++文件监控之FindFirstChangeNotification的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面
千家信息网最后更新 2026年10月31日VC++文件监控之FindFirstChangeNotification的示例分析
小编给大家分享一下VC++文件监控之FindFirstChangeNotification的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
原因:
因为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 ;效果图:
以上是"VC++文件监控之FindFirstChangeNotification的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
监控
目录
篇文章
变化
示例
分析
内容
动作
不怎么
代码
关键
原因
句柄
大小
大部分
属性
效果
效果图
文件名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司怎么样
上海睿民互联网科技有限公司
深圳九邦互联网科技有限公司
互联网佳科技有限公司
科技互联网龙头
新华互联网科技学院
互联网扶贫科技
互联网与科技金融数据
深圳期待互联网科技
互联网科技大会案例
华脉科技工业互联网产品
山东吉时兔互联网科技有限公司
互联网新科技动漫ppt素材
广州新华互联网科技学校电竞方面
恒生互联网科技业指数调整周期
互联网方面的科技前沿
上海互联网科技公司ppt
互联网科技大会大佬
上海互联网科技园景观
科技美学互联网 艺术
互联网科技股
金融科技创新监管互联网金融
有木互联网科技
联恩商钥互联网科技有限公司
哈尔滨屹滨互联网科技有限公司
坤平互联网科技
上海京穆互联网科技有限公司
上海创道互联网络科技有限公司
上海同邻互联网科技有限公司规模
中国科技和美国互联网