小弟现在准备用c++写一个能监视windows目录或文件的类  能够检测到目录下所有文件的改变信息  包括 新建 删除 重命名 等
如果是文件修改了内容  能查出修改了的偏移量    在检测到信息的时候能通知到所有你这个类的对象
大家有什么好的想法  用什么区实现比较好呢

解决方案 »

  1.   

    这个比较难。文件修改是整个重写,你要知道偏移量,就要保存原来的来做diff,也就是修改前和修改后要通知2次。
      

  2.   

    有的改变可以用FindFirstChangeNotification获得
      

  3.   

    直接挂分区或磁盘驱动,过滤其他的目录和文件即可。当然这个要驱动编程,你也可以用Windows提供的文件过滤钩子完成。或者在ring3中实现,就如楼上所说
      

  4.   

    FindFirstChangeNotification 这个函数可以获取修改的详细信息么  比如是重命名还是复制
      

  5.   

    自己解决了通知的问题  使用了readdirectorychanges 文件改变偏移量暂时没能解决 不知道有没好的方法 直接取出对比太慢了