监视C#中的文件/目录访问

时间:2011-08-24 15:18:31

标签: c# .net windows file-io filesystemwatcher

我想开发一个记录在机器上访问的文件/目录的应用程序。

e.g。我去D:\并进入文件夹文件并打开一个word文件。我希望我的应用程序以以下格式创建日志:

  1. D:\已打开
  2. D:\ documents已打开
  3. D:\ documents \ secret.docx已打开
  4. 我使用FileSystemWatcher来实现其他类型的文件系统活动,但无法获取访问它的事件。

3 个答案:

答案 0 :(得分:3)

听起来你想做一个像sys internals这样的FileMon程序。在他们的网站上,Mark讲述了FileMon的工作方式,以便您通过阅读文章获得灵感。

另见:How do you monitor file access and changes on a file server by user name?

答案 1 :(得分:1)

不确定使用filesystemwatcher可以实现这种监控,因为它旨在监控我认为的变化。您可以使用文件系统审核(通过进入高级安全设置),它将在事件日志中记录事件,您可以从那里提取事件。

答案 2 :(得分:0)

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