Windows 检测移动文件事件

Windows 检测移动文件事件,windows,filesystems,Windows,Filesystems,我正在尝试开发一个应用程序,用于监控特定文件夹的操作,包括创建、删除、修改、移动、复制和重命名 参考FileSystemWatcher API后,我发现它不提供移动事件,而是为同一文件生成单独的删除和创建事件。当然,每次检测到删除事件时,我都可以等待创建事件,并确定它是否是移动事件,但这对我来说有点奇怪,等待的适当时间也是一个问题 实际上,我发现Dropbox能够正确地检测移动事件,即使Dropbox进程没有运行。Dropbox团队做得很好,我想知道他们是如何在地球上工作的 因此,我的目的非常明

我正在尝试开发一个应用程序,用于监控特定文件夹的操作,包括创建、删除、修改、移动、复制和重命名

参考FileSystemWatcher API后,我发现它不提供移动事件,而是为同一文件生成单独的删除和创建事件。当然,每次检测到删除事件时,我都可以等待创建事件,并确定它是否是移动事件,但这对我来说有点奇怪,等待的适当时间也是一个问题

实际上,我发现Dropbox能够正确地检测移动事件,即使Dropbox进程没有运行。Dropbox团队做得很好,我想知道他们是如何在地球上工作的


因此,我的目的非常明确:从其他事件中筛选移动事件并使其脱机工作(这意味着当过程停止时)

FileSystemWatcher
的角度来看,移动操作基本上是一种“复制和删除”。在不知道实现细节的情况下,我打赌DropBox会为每个文件存储一个哈希。如果一个文件在一个位置被删除,而在另一个位置用相同的哈希值创建,那么它很可能被移动了。你也可以做同样的事情