各位大师:
  请问如何判断一个目录下的文件是否被更新了,
  是这样的,在我的一个目录中,共有120个文件,在不断更新,更新到第120个文件时,系统会从第1个文件开始重新覆盖更新
  而我要做的就是,实时判断当前最后被更新的是哪几个文件,以便对其时行处理。
  
  我现在用了两个解决方法:
  一、利用微软的未公布API进行文件监控
      失败:因为这种方法只能监控人为的文件更新,而不能得到程序对文件的写操作。
  二、FSO进行文件日期的实时监控。
      方法可行,但是效率太低。占用CPU过高,  请问各位大师们,用什么方法可以实现最高效的文件监控啊,主要是监控文件的创建和更新,删除等操作。
    重谢。

解决方案 »

  1.   

    如果更新操作是你自己的程序在做那当然不需要监控,只要弄个队列循环即可,如果更新操作是外部程序做的那就只好监控了,FindFirstChangeNotification可以用。
      

  2.   

    FindFirstChangeNotification  是API函数吗,怎么用啊,能给出个例子,或是用法之类的东西吗
      

  3.   

    哦,FindFirstChangeNotification 不行,监控不了程序对文件的写操作,只能监控人为的文件更新操作。。
      各位大师们,谁还有更好的方法啊
      

  4.   

    对楼主的问题有两个疑问:
    一、更新文件是由什么程序来执行的呢?如果是你自己的程序,则应该很容易。
    二、FSO进行文件日期的实时监控。方法可行,但是效率太低。占用CPU过高。FSO对象系统资源占用应该是高些的,你可以使用API来检查日期,至于CPU占用高,可能是方法有问题,可以将你的代码贴些上来,让大家帮你看看。