易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

【新】用SHChangeNotifyRegister实现文件监控 - 注释清晰,易拓展封装   [复制链接]

    2020-07-03 10:05:47
    高级教程源码
    易语言资源网
    4690 次浏览
    来源链接

前言:

基本介绍:

  • 在Windows实现文件监控有三种方法,第一种是“虚拟文件系统驱动”方法,如windows 下的filemon,网上有很多关于他的分析。第二种方法是“HOOK API”方法,钩子技术。第三种方法是“消息机制”,从windows的文件通知消息获取系统的文件操作。但是这是文件操作完成以后,才通知的。所以只能进行监视监视,不能进行完全的控制。而消息机制当中,也有三种方法,(1)通过使用“未公开API SHChangeNotifyRegister 实现”;(2)通过 FindFirstChangeNotification 实现;(3)通过 ReadDirectoryChangesW 实现。第(2)(3)种方法只能针对一个在指定目录或子目录下发生的更改符合过滤条件时,进行监视。
  • 而现在,易语言中大部分消息机制监视文件使用FindFirstChangeNotification或ReadDirectoryChangesW + 线程实现的(例如:文件监控精灵 - 监控目录文件新建&删除&重命名&修改),该方法效率较低,而且如果很多文件在短时间内发生变更,则有可能会丢失部分通知,且监视的文件信息有限,所以,我写了一份使用SHChangeNotifyRegister来监视文件的例程。

特性:

  • 代码几乎是全注释,清晰明了:
  • 程序很多命令和常量是翻译自MSDN,规范程度高:
  • 监视多种消息(比如USB接口信息),很多问题一个命令即可解决:


点我下载 (已有 261 次下载)

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
SHChangeNotifyRegister - 监视文件夹.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325


[错误报告]   上一篇:文本转字节集文本以及字节集转文本例子...     下一篇:精益浏览器+易撰写的爬虫和文章生成系统...