用SHChangeNotifyRegister文件实时监控,易拓展封装
在Windows实现文件监控有三种方法,第一种是“虚拟文件系统驱动”方法,如windows 下的filemon,有很多关于他的分析。
第二种方法是“HOOK API”方法,钩子技术。第三种方法是“消息机制”,从windows的文件通知消息获取系统的文件操作。但是这是文件操作完成以后,才通知的。
易语言用SHChangeNotifyRegister实现文件监控,注释清晰易拓展封装例子。
MoveMemory_SHNOTIFYSTRUCT (l_shns, p_wParam, 8) ' 读出消息数据SHNOTIFYSTRUCT
l_EventStr = sub_SHNotify_GetEventStr (p_lParam) ' 获取事件消息
.如果真 (l_shns.dwItem1 ≠ 0) ' 判断事件是创建事件还是修改事件,dwItem1非0为修改事件
l_sDisplayname = _W2A (sub_GetDisplayNameFromPIDLW (l_shns.dwItem1)) ' 读取当前文件名
.如果 (l_sDisplayname ≠ “”) ' 如果文件名非空
l_sPath = _W2A (sub_GetPathFromPIDLW (l_shns.dwItem1)) ' 读出文件目录
.否则
l_sDisplayname = “Unknown” ' 读取失败返回Unknown
l_sPath = “Unknown”
同类资源
- WinhttpApi类Zlibwapi封装模块
WinhttpApi类Zlibwapi封装模块例子源代码,本模块将Winhttp的常用Api封装为了一个HTTP请求类,不再是之前开源...
- 文件监控程序,新建的文件自动设置只读
一个文件监控程序,新建的文件自动设置只读。本人用在上传目录中,使上传的文件自动变成只读,一般不监控系统目...
- LPC2214 ARM7最小系统开发板ALTIUM原理图、PCB封装库、测试C软件代码
LPC2214ARM7最小系统开发板ALTIUM原理图、PCB+封装库、测试C软件代码本文件感兴趣的可以参考一下,已经制板...
- 易语言写rtmp协议,包括握手和AMF0数据封装
易语言写rtmp协议,包括握手和AMF0数据封装例子源代码,难的是下面的AMF0数据的组包和解包,有兴趣的老哥们可以...
- E2EE+CEF+VUE前端框架制作,高质量WEBUI界面,封装了各种操作方法
E2EE+CEF+VUE前端框架制作,高质量WEBUI界面,封装了各种操作方法例子源代码,懂这方面的人员可以自行修改源码,...
- WinHttpRequest对象完整封装
WinHttpRequest对象完整封装例子源代码,但是这么齐全的并不多吧。...
- 内存取key通用版,shellcode形式,注释清晰
易语言内存取key通用版,shellcode形式,注释清晰例子源代码,最近朋友项目中要用到这个东西。...
- 大恩圆形图片模块,封装无锯齿、有锯齿
易语言大恩圆形图片模块,封装无锯齿、有锯齿例子,添加模块应用后直接可以查看具体的使用方法了,一个是有锯齿...
- 图像处理v1.3封装的图片添加文字和图片水印功能模块
易语言封装的图片添加文字和图片水印功能模块例子,添加模块应用后直接可以查看具体的使用方法了,直接写入同...
- 大漠插件易调用多线程,封装大漠常用命令
易语言大漠插件易调用多线程,封装大漠常用命令模块例子,添加模块应用后直接可以查看具体的使用方法了,索引形...
- 封装了大漠支持库3.1231B飞越模块可静态编译
易语言封装了大漠支持库3.1231B模块可静态编译例子,添加模块应用后直接可以查看具体的使用方法了,新版本没...
- SUI模块中文封装版
易语言SUI模块中文封装版例子,添加模块应用后直接可以查看具体的使用方法了,请使用SUILOADIMAGE加载图片。...