我们使用 ICopyHook.CopyCallback 外壳扩展来检测 文件夹 的删除、移动和创建,但不检测文件 Link , 如何检测用户是否正在从 C# 应用程序中删除文件,或者如何为用户处理删除操作? 示例:用户在 f1.txt 上按 Shift + DEL,然后操作系统询问“Are Yuo sure You Want to delete 'f1.txt'?”,如果用户按“yes”,则 C# 应用程序将通过以下方式处理删除操作以透明方式将“f1.txt”移动到某个隐藏文件夹{例如} ???
注意:我认为 FileSystemWatcher 不能完成这个任务..
最佳答案
您需要一个文件系统过滤驱动程序,它会拦截文件删除或文件移动(文件被移动到回收站)的请求,并会采取相应的行动。
请注意,由于没有在文件系统级别复制文件这样的操作(ICopyHook 只能捕获 Explorer 本身或通过 shell API 函数执行的操作),您将无法使用文件系统跟踪“复制”过滤器驱动程序(或通过任何其他方式)。
关于c# - 是否有用于文件的 ICopyHook.CopyCallback 或替代品?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998582/