我们使用ICopyHook.CopyCallbackshell扩展来检测删除,移动,创build文件夹 ,但不是文件 链接 ,如何检测用户是否从C#应用程序中删除文件,或者如何处理用户的删除操作? 例如:用户按下f1.txt上的Shift + DEL,操作系统询问“是否确定要删除'f1.txt'?,如果用户按'yes',则C#应用程序将处理删除操作以透明方式将“f1.txt”移动到某个隐藏文件夹(例如)?
注意:我认为FileSystemWatcher不能完成这个任务..
您需要一个文件系统过滤器驱动程序,该驱动程序将拦截文件删除或文件移动的请求(将文件移至回收站),并将相应地执行。
请注意,由于没有像在文件系统级别复制文件这样的操作(ICopyHook只能捕获由资源管理器本身或通过shell API函数执行的操作),因此将无法使用文件系统过滤器驱动程序跟踪“复制”(或通过任何其他手段)。