【发布时间】:2015-09-26 17:30:30
【问题描述】:
嗨
我试图使用 FileSystemWatcher 来检测是否某些文件或目录已移动到另一个位置。问题是,我不得不使用 onCreated 和 onDeleted 事件来处理这个问题,但是使用这个解决方案有很多问题
- 如果我选择多个文件并按 Ctrl+C、Ctrl+V 或右键单击并选择复制然后粘贴到同一目录中,我如何检测更改?
- 如果我会选择多个目录,我该如何检测?
- 最后一个,如果我模拟移动文件呢?我可以删除文件并在不同的地方创建同名文件。
我知道我可以使用计时器、进程锁定检测、验证哪个进程使用文件(如果 explorer.exe 则可能是移动文件),但这个解决方案并不完美,而且非常无效。我在思考如何解决这个问题,我决定用低级语言来实现它。是否可以使用 C 或汇编程序来做到这一点?我知道使用汇编程序可以做任何事情,那么可以在 asm 中实现吗?我想使用汇编程序或 C 创建我自己的 FileSystemWatcher,但我应该在哪里寻找信息如何做到这一点?
【问题讨论】:
-
你指的是C#的
System.IO.FileSystemWatcher吗?作为从事文件系统监控项目的人,我只能告诉您:这非常困难,您应该使用任何可以使用的高级工具,除非您愿意花费大量时间在上面,否则不要更深入。 -
谢谢,我可能在 stackoverflow 上看到了某个问题,这是在 .NET 中使用一些包含操作系统更改日志的数据库的高级解决方案,但这仅在特定系统上可用 - 带有 SP3 的 Windows XP Professional (如果我没有误导),现在我正在搜索这个线程,我找不到
标签: file move filesystemwatcher