您的位置:首页 > 编程开发 > 易语言

用SHChangeNotifyRegister文件实时监控,易拓展封装

:7.804KB :2021-03-03 11:02:22

在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”

用SHChangeNotifyRegister文件实时监控,易拓展封装

网课查题小程序内置接口
js加密之抖音个人主页Signature加密

同类资源