易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录
退出登录
我要分享内容
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
搜索
精易模块
自绘
界面美化
汇编
POST
API
易语言助手
高级搜索
首页
易语言源码
入门教程源码
初级教程源码
进阶教程源码
高级教程源码
系统工具源码
图形图像源码
多媒体类源码
游戏娱乐源码
数据库类源码
模块控件源码
行业软件源码
网络相关源码
界面美化源码
易语言模块
易语言支持库
易官方支持库
第三方支持库
OCX控件库
辅助类支持库
支持2017link的改造库
易相关资源
易语言版本下载
易语言配色方案
编程辅助工具
编译链接器
易相关资料
电子书类
图文资料
开源大赛
2016开源大赛(第一届)
2017开源大赛(第二届)
2018开源大赛(第三届)
2019开源大赛(第四届)
2020开源大赛(第五届)
2021开源大赛(第六届)
2022开源大赛(第七届)
火山相关资源
火山版本下载
火山安卓源码
火山PC源码
其他资源
JavaScript
PHP
C++
HTML
uni-app
Java
Golang
C#
Delphi
全部
易语言源码
易语言模块
易语言支持库
易相关资源
易相关资料
开源大赛
火山相关资源
其他资源
当前位置:
易语言资源网
>
系统工具源码
>
帖子内容
【R3下最底层?】监听文件夹的文件变动
[复制链接]
2021-08-31 09:59:30
系统工具源码
易语言资源网
3131
次浏览
来源链接
前言:
以前写过一个文件监视:
【新】用SHChangeNotifyRegister实现文件监控 - 注释清晰,易拓展封装
今天写的文件监视则是调用的一个较为底层的函数:NtNotifyChangeDirectoryFile
正文:
NtNotifyChangeDirectoryFile是非文档化,非公开函数,使用起来非常的麻烦,因为涉及NtNotifyChangeDirectoryFile,NtOpenFile,NtWaitForSingleObject等毫无资料的函数的调用,所以本程序写起来还是花了不少时间的。
我的调用过程大致如下:使用NtOpenFile打开目录,NtNotifyChangeDirectoryFile监听目录变化,NtWaitForSingleObject进行等待,最后使用IOCP通知UI线程变化:
由于采用完全通知异步的方式,在NtNotifyChangeDirectoryFile结束监听时即可开启下一次监听,漏数据的可能性下降:
测试效果:
PS:
文件名开头的“\??\”代表是内核路径,请在所以测试文件夹开头都要加上“\??\”标志!程序默认监听路径是运行目录下的“IMG”,请在测试前换成其他路径!
文件名开头的“\??\”代表是内核路径,请在所以测试文件夹开头都要加上“\??\”标志!程序默认监听路径是运行目录下的“IMG”,请在测试前换成其他路径!
文件名开头的“\??\”代表是内核路径,请在所以测试文件夹开头都要加上“\??\”标志!程序默认监听路径是运行目录下的“IMG”,请在测试前换成其他路径!
点我下载
(已有
286
次下载)
引用模块
无
引用支持库
源码文件名
支持库文件名
支持库标识
NtNotifyChangeDirectoryFile.e
系统核心支持库 5.7
d09f2340818511d396f6aaf844c7e325
[错误报告]
上一篇:【gdiplus】抠图!任意区域!...
下一篇:【gdiplus】led型 加载条 可拖...
本栏最新
1
SaJson查看器-开源
2
原创的节日和节气倒计时计算
3
网络工具箱(ARP IP探测 跨网段扫描 路由追踪 局域网测速等)
4
【HZKpath】HTML解析工具
5
后台键鼠录制2.0
6
文件夹监视源码 带超级列表框和右键菜单操作
7
eventlog windows事件查看日志
8
绑定窗口鼠标前台或后台移动点击案件
9
窗口归位
10
E-Code易代码管理器
本栏最热
1
练手的代码,仿制易助手的健康小助手
2
黑月界面生成模块开源(一键生成黑月界面)
3
谷歌69内核最新浏览器源码
4
完美验证码识别系统V3.1 亲测可用 100%识别率 毫秒级识别速度
5
易语言版CE6.3源码
6
易语言sock5代理指定进程 单窗口 单ip源码
7
DIY电脑工具箱
8
易语言SYS驱动文件安装加载启动工具源码
9
易语言局域网监控系统源码
10
内存7z解压模块源码
栏目标签
日期
连接
API的使用
API
电子书
配色
PE
算法
图片组
截图
多线程
黑月
ADSL
句柄
托盘