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

【首发】读取系统Change Journal,你的文件记录还藏得住吗?   [复制链接]

    2021-06-28 19:53:15
    高级教程源码
    易语言资源网
    2421 次浏览
    来源链接

前言:

  • Windows提供了几种方式对文件和目录进行监控,包括:FindFirstChangeNotification、ReadDirectoryChangesW、SHChangeNotifyRegister、变更日志(Change Journal)等。

    • FindFirstChangeNotification函数,可以监控到目标目录及其子目录中所有文件的变化,但不能监控到具体是哪一个文件发生改变。
    • ReadDirectoryChangesW 能监控到目标目录下某一文件发生改变,并且可以知道发生变化的是哪一个文件。(注意,FindFirstChangeNotification 和 ReadDirectoryChangesW 是互斥的,不能同时使用。)
    • 但是:使用Windows API(ReadDirectoryChangesW)不能满足要求,如果变化量大又密集时,丢失通知现象很严重。
    • 如果使用SHChangeNotifyRegister来监视文件变更的话,大部分用户文件操作可以被记录,但是部分系统操作将不会被记录。
  • 于是,今天的这份源码将使用Change Journal来监视(查看)文件变更。

正文:

  • 注:本程序的代码母体来自:萧阳天的代码
  • 上点图吧:
  • USN日志读取(变更理由可以自行设置的):
  • 变更理由我已经翻过MSDN了:
  • 代码清晰有注释:
  • 至于代码可以做什么,自己去发挥想象力吧!

PS:

  • 我的代码中枚举的是E盘的数据,没有E盘的易友请自行更换为C盘等盘符!!!
  • 我的代码中枚举的是E盘的数据,没有E盘的易友请自行更换为C盘等盘符!!!
  • 我的代码中枚举的是E盘的数据,没有E盘的易友请自行更换为C盘等盘符!!!


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

引用模块





引用支持库


源码文件名 支持库文件名 支持库标识
DeviceIoControl READ_USN_JOURNAL.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1 A512548E76954B6E92C21055517615B0


[错误报告]   上一篇:多线程插入 超级列表框,上亿数据不卡不崩...     下一篇:TCP客户端多线程发送同步接收,核心支持...