在写入磁盘之前捕获对文件的写入并进行复制?

时间:2012-11-05 08:01:51

标签: windows filesystems filesystemwatcher

我希望我的程序能够在另一个程序更改其内容之前制作文件的副本。我查看了FileSystemWatcher,但我不认为能够帮助我,因为我没有看到任何关于能够捕获或阻止事件的事情。

我想到的一个解决方案是检测程序何时打开具有写权限的文件,并在此时在内存中制作副本。我不知道如何检测其他程序何时打开文件。

包括我想要的结果还不清楚,这是一个例子。音频文件链接到系统上多个用户的音乐文件夹以节省磁盘空间。如果用户想要修改音乐文件的元数据,或者对文件应用某种音频效果,则修改不应影响其他用户的副本。用户应该在做出更改后自动获得自己的副本。

1 个答案:

答案 0 :(得分:2)

感谢@RaymondChen在评论中提到卷影复制服务!

这正是我所需要的。回到我原来帖子中的例子;在音频文件链接到用户目录后,我的程序可以创建卷的卷影副本,以便在更改链接文件后,我的程序可以恢复镜像副本,并将修改后的文件移动到相应用户的目录。