在Windows中检测文件"COPY"操作

Att*_*lah 3 .net c# windows winapi

假设我希望在我的系统上启动文件副本时获得通知,并获取文件名,复制或移动文件的目的地以及复制时间.

这可能吗?你会怎么做?你应该挂钩CopyFile API函数吗?

有没有软件可以完成这个?

And*_*rew 8

Windows具有I/O过滤器的概念,允许您拦截所有I/O操作并选择执行其他操作.它们主要用于A/V类型的场景,但可以编程用于各种任务.例如,SysInternals Process Monitor使用I/O过滤器来查看文件级访问.

您可以使用MS筛选器管理器查看当前筛选器(命令提示符下的fltmc.exe)

有一个工具包可以帮助您编写过滤器,您可以获得驱动程序并开发自己的.

http://www.microsoft.com/whdc/driver/filterdrv/default.mspx是获取深度信息的起点


peS*_*HIr 5

由于这个问题上有一个.NET标记,我只想System.IO.FileSystemWatcher在.NET Framework中使用它.我猜它是使用安德鲁在他的回答中提到的I/O过滤器来实现,但我真的不知道(也不关心,确切地说).这符合你的需求吗?

  • 不,它使用FindFirstChangeNotification/ReadDirectoryChangesW,而不是文件系统过滤器. (3认同)