如何跟踪软件打开的所有文件?

时间:2012-02-02 11:56:24

标签: c# system message monitor total-commander

我想写一个监控程序。它将监视一个特殊的软件。当该软件打开文件时,它会记住启动历史记录。因此,我可以为某些软件创建自己的“收藏文件”或“历史”系统。

即。我经常使用Total Commander。我用tc作为程序启动器。我的大部分文档或课程都在TC开设。但TC没有开放文件历史记录系统。所以我打算做一个。

在TC中打开文件时。 TC是父进程。我认为有一种方法可以编写C#代码来获取TC打开的所有文件(它是关于消息发送和监视代码)。 TC是用delphin编写的,它使用stand listbox控件。 C#可以解决问题。

但我是C#的新手,我有一点Autohotkey和python编程技巧。我正在学习C#。有人可以给我一些写代码的技巧吗?核心思想还可以,我会处理GUI的事情。

2 个答案:

答案 0 :(得分:2)

您可能不需要自己编写。 sysinternals / Microsoft的进程监视器可以监视文件。使用过滤器,您可以按流程过滤。

http://technet.microsoft.com/en-us/sysinternals/bb896645

答案 1 :(得分:0)

我也在为大学项目做一个儿童监控软件。 我找到了一些解决方案。

  1. Windows HOOK并拦截所有文件读写.etc。(硬和复杂)
  2. 为什么不检查MyRecentDocuments文件夹...:P(用户可以更改有利有弊的设置)
  3. 不知道如果我们可以使用“过程”类并做某事......:P

    EDIT ----------------

    我差点忘了...... 当我实现Process Monitoring Component时,我发现当用户双击文件“dllhost.exe”时就会运行。 :)我想你有一个现在该做什么的线索..我还在努力...