首页 新闻 搜索 专区 学院

监控文件,当文件符合条件时,才能被删除,否则无法删除,求解决方案

0
悬赏园豆:20 [已解决问题] 解决于 2014-07-21 12:57

背景:用FileSystemWatcher来监控文件,和数据库文件记录表同步。

现在想实现一个功能:当文件被删除前,判断相应的数据库记录是否可以被删除,如果不能,则文件就不能删除。

什么方法都行,不一定要用FileSystemWatcher,才疏学浅,菜鸟一个,请大神们多多指导!

xsauce的主页 xsauce | 初学一级 | 园豆:110
提问于:2014-07-17 09:48
< >
分享
最佳答案
0

关键看删除文件这件事,是在你的控制之内还是控制之外。

准确一点说,就是用户删除文件,是在你的界面定义里面,还是在Window Explorer里面删除的。

如果是你设计的界面提供的删除功能,那就很简单了,删除之前判断一下。

如果是要防止用户使用Window Explorer删除的话,那就无比复杂了,就一个字,很麻烦的说。

收获园豆:20
爱编程的大叔 | 高人七级 |园豆:30748 | 2014-07-17 10:05

自己界面上的删除,我就不会问这个问题了。。

xsauce | 园豆:110 (初学一级) | 2014-07-19 17:18

@xsauce: 

这么说吧,按照你表达的意思,猜你想实现如下功能,

任意一台电脑,Windows 系统,安装你的软件后,这台电脑就受控了(好听点就是受保护了)。

任何一个用户想要删除文件,都得经过你的软件同意才能删除。

要实现以上目标,你需要在Windows系统的文件管理(删除)加HOOK,也称为钩子。

你也可以理解为NET中的事件吧,类似File_AskForDelete或是File_OnBeforeDelete

然后里面可以让你判断是否Cancel这个删除操作。

这个跟FileSystemWatcher不同的。基本上需要的技能是核心级的,类似以前一个病毒CIH那样的。

爱编程的大叔 | 园豆:30748 (高人七级) | 2014-07-20 17:42

@爱编程的大叔: 不知道这个问题太简单了,还是太偏了,没什么人回答,大叔,分都给你了。

xsauce | 园豆:110 (初学一级) | 2014-07-21 12:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册