.net 关闭修改后的文件时的通知

.net 关闭修改后的文件时的通知,.net,windows,winapi,.net,Windows,Winapi,我们搜索可靠的可能性,以便在文件被其他应用程序修改时得到通知 .NET FileSystemWatcher类和ReadDirectoryChangesW函数都会遇到这样的问题:即使其他应用程序尚未完成编写,它们也会生成事件 在Linux下,inotify提供了一个IN_CLOSE_WRITE事件—文件在打开进行写入后被关闭 有没有办法在windows上获取这些信息 [编辑以澄清:] 我主要感兴趣的是作者何时完成工作,而不是独占访问/锁定iUse。我希望避免轮询/重复尝试并捕获类似异常的解决方案,

我们搜索可靠的可能性,以便在文件被其他应用程序修改时得到通知

.NET FileSystemWatcher类和ReadDirectoryChangesW函数都会遇到这样的问题:即使其他应用程序尚未完成编写,它们也会生成事件

在Linux下,inotify提供了一个IN_CLOSE_WRITE事件—文件在打开进行写入后被关闭

有没有办法在windows上获取这些信息

[编辑以澄清:] 我主要感兴趣的是作者何时完成工作,而不是独占访问/锁定iUse。我希望避免轮询/重复尝试并捕获类似异常的解决方案,因为这通常是一种糟糕的编程风格,而基于事件的编程更利于节能

谢谢,
Markus

我相信WMI可以做到这一点,但我个人不知道任何细节。另请参见@Diego:谢谢,但876473并非完全相同的问题。除此之外,它们没有为问题提供真正的解决方案,只是在循环中轮询/重试。投票最多/接受最多的解决方案甚至包括一个竞赛条件。@arx:谢谢,9182070试图解决同样的问题。但除了投票,他们也找不到真正的解决办法。