如何防止从确定的目录中复制,粘贴和删除文件

时间:2011-03-08 10:33:11

标签: c# filesystemwatcher

我正在团队的项目中完成一些任务。我完成了我的第一项工作,即如何识别并从包含寄存器文件的USB获取文件。我已经研究过如何阻止某些操作:复制,粘贴,删除USB中不包含寄存器文件的文件。直到现在,我都无法解决这个问题。

如果我的电脑中有未经授权的USB和授权USB。我可以复制,粘贴,删除授权USB中的文件但是未经授权的USB。

我尝试过使用FileSystemWatcher,但我可以在更改后处理“文件已更改”信息。如何在更改之前处理(在完成复制,粘贴或删除之前)?

我认为有些东西可以作为Prevent v1.0程序,但不会阻止所有文件,只是来自确定的目录而且我没有Prevent v1.0的源代码

任何帮助都是宝贵的。

2 个答案:

答案 0 :(得分:4)

您需要使用文件系统筛选器驱动程序才能拒绝写入或删除。您可以自己编写(6到9个月的工作时间来完成它),或者您可以使用我们的CallbackFilter产品,它可以让您在大约一个小时内完成任务。

请记住,操作系统没有“文件复制”操作。文件复制是一系列文件打开/文件读/文件写/文件关闭操作。

答案 1 :(得分:1)

未经测试,但是......如何将文件属性设置为只读,然后,一旦更改,通过再次启用写保护来还原更改?

你想做什么?实现某种硬件加密狗?在这种情况下,我只是尝试将尽可能多的USB驱动器信息添加到您的文件中,以检查驱动器的实际数据(序列号,供应商ID等)。导致其他“未经修改”的PC仍然可以更改驱动器,即使在使用某种文件系统过滤器时也是如此。