背景:用FileSystemWatcher来监控文件,和数据库文件记录表同步。
现在想实现一个功能:当文件被删除前,判断相应的数据库记录是否可以被删除,如果不能,则文件就不能删除。
什么方法都行,不一定要用FileSystemWatcher,才疏学浅,菜鸟一个,请大神们多多指导!
关键看删除文件这件事,是在你的控制之内还是控制之外。
准确一点说,就是用户删除文件,是在你的界面定义里面,还是在Window Explorer里面删除的。
如果是你设计的界面提供的删除功能,那就很简单了,删除之前判断一下。
如果是要防止用户使用Window Explorer删除的话,那就无比复杂了,就一个字,很麻烦的说。
自己界面上的删除,我就不会问这个问题了。。
@xsauce:
这么说吧,按照你表达的意思,猜你想实现如下功能,
任意一台电脑,Windows 系统,安装你的软件后,这台电脑就受控了(好听点就是受保护了)。
任何一个用户想要删除文件,都得经过你的软件同意才能删除。
要实现以上目标,你需要在Windows系统的文件管理(删除)加HOOK,也称为钩子。
你也可以理解为NET中的事件吧,类似File_AskForDelete或是File_OnBeforeDelete
然后里面可以让你判断是否Cancel这个删除操作。
这个跟FileSystemWatcher不同的。基本上需要的技能是核心级的,类似以前一个病毒CIH那样的。
@爱编程的大叔: 不知道这个问题太简单了,还是太偏了,没什么人回答,大叔,分都给你了。