在C#中监控文件/目录访问

7
我希望开发一个应用程序,记录计算机上访问的文件/目录。
例如,我进入D盘并打开名为“文档”的文件夹中的一个word文件。我希望我的应用程序按以下格式创建日志:
  1. D:\ 打开
  2. D:\documents 打开
  3. D:\documents\secret.docx 打开
我已经使用FileSystemWatcher来实现其他类型的文件系统活动,但无法获取访问此类活动的事件。

3
我担心你无法完成这个任务,除非在内核中使用非常低级别的WinAPI挂钩。 - Daniel Hilgarth
3个回答

3

1

不确定文件系统监视器能否实现此类监视,因为它旨在监视更改。您可以使用文件系统审计(通过进入高级安全设置)记录事件并从事件日志中提取信息。


0

最可行的选择是使用文件系统过滤驱动程序。这种驱动程序可以让您对发送到特定文件系统的所有请求进行细粒度控制。但是,这种方法的唯一问题在于在内核模式下开发此类驱动程序的复杂性。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接