【问题标题】:FileSystemWatcher doesn't fire for Opened files C#FileSystemWatcher 不会为打开的文件触发 C#
【发布时间】:2013-08-10 18:13:20
【问题描述】:

我正在使用 FileSystemWatcher 来跟踪打开的文件。但我有一个问题,为什么它不会触发打开文件的事件。我包括了 Changed、Created、Delete 和 Renamed 事件,但它们在打开文件时不会触发。好吧,如果是 docx,它会查看 ~!me.docx 这是一个临时文件。它仅在创建或保存文件时起作用。

类中没有Opened事件,可能这个类不用于观看打开的文件??

请您帮我解决这个问题。我需要观看刚刚打开的文件。 我正在使用 Win7 x64 我有这个过滤器:文件名、属性、lastAccess、LastWrite、

【问题讨论】:

  • 您必须为此查看文件句柄,
  • 您包含changedcreateddeletedrenamed 事件,但对您不会收到opened 文件的任何内容感到惊讶?
  • 不,您不能使用 FileSystemWatcher 来收到有关打开文件事件的通知。见这里stackoverflow.com/questions/14779616/…

标签: c# filesystemwatcher


【解决方案1】:

看来你不能用FileSystemWatcher来做你想要的,你需要用Win32 function ReadDirectoryChangesW

【讨论】:

    【解决方案2】:

    Steve 在 cmets 中发布的链接很有用。 FileSystemWatcher 监视打开的文件,但我们必须在 Windows 上启用 Lass Access TimeStamp。现在我必须评估它的性能。谢谢史蒂夫。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多