VC++文件监控之FindFirstChangeNotification的示例分析
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下VC++文件监控之FindFirstChangeNotification的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面
千家信息网最后更新 2025年01月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安全错误
数据库的锁怎样保障安全
nosql类型数据库
通过搜索查关键字 网络安全
光明区网络技术进出口联系方式
加强网络安全运维管理
软件开发有那些职高
服务器网络负载的
内网穿透用什么服务器好
地图数据库专题地图
数据库的恢复功能的名词解释
苹果电脑检查代理服务器地址
案例保险行业网络安全问题
网络安全科普车
甘肃水果蔬菜配送软件开发
数据库原理与技术表程序题
数据库sum函数意义
康福中国服务器最新ip地址
数据库中list
江西网络技术转让采购
为什么lol突然无法连接服务器
怎么下载oracle数据库
数据库建模软件 mac
数据库系统概论数据查询报告
跨国数据库有哪些
现有的有关网络安全的技术
实时数据库软件公司
网络安全体系为新基建
网络安全等级保护第三级整改
sql设置获取不到数据库
供电所网络安全法
非接触网络安全防护