【发布时间】:2011-06-21 22:47:22
【问题描述】:
我正在尝试监视目录中的文件以确定何时打开/访问文件。我认为FileSystemWatcher 会使用事件Changed 来解决问题。
问题是某些应用程序不会在它们打开/访问的文件上创建锁定或更改修改日期或访问日期(即使在fsutil behavior set disablelastaccess 0 之后)。以记事本为例。显然是在内存中复制文件并在那里播放,直到你保存它。它也不会更新访问日期。
如何监视文件目录并在任何程序(例如记事本)简单地打开/访问文件时收到通知?文件可以从另一台计算机打开,不一定在计算机上运行“观察者”。
我发现了很多类似的问题,但没有看到一个关注文件“访问”的问题。
【问题讨论】:
-
您是否已经尝试过各种通知标志但都失败了? (msdn.microsoft.com/en-us/library/system.io.notifyfilters.aspx)
-
确实,是的。我将 FileSystemWatcher.NotifyFilter 设置为监视所有内容。它在文件被保存/删除/创建等时拾取,但打开位没有乐趣。