从操作系统的任何文件夹中检测文件删除,并防止通过 C# 或 win32 API 删除



我知道我们可以用FileSystemWatcher监视一个特定的文件夹。 在文件系统观察器的帮助下,我们可以保存已删除文件的日志。 假设我有 Windows 服务,它将一直运行,如果任何用户尝试从我的操作系统中删除具有特定扩展名的任何文件,然后控制,那么我的 Windows 服务将向用户显示一个消息框并阻止用户删除该文件。 我只想知道我可以用FileSystemWatcher类做到这一点。 如果可以使用FileSystemWatcher,那么请在这里讨论如何或不可能使用FileSystemWatcher,那么我如何通过我的Win服务或普通Win应用程序实现它。 Win32 API可以吗?.谢谢

使用适当的 Windows 安全措施 - 文件权限以及访问组。

唯一的方法是有一个文件系统过滤器驱动程序,它将跟踪删除和移动请求(移动到此处的回收站)并取消此类请求。您可以编写自己的筛选器驱动程序或使用我们的回调筛选器产品。使用CallbackFilter,任务很简单 - 在用户模式下(可能在C#中)不到十几行代码。

最新更新