【问题标题】:How can I track all the files opened by a software?如何跟踪软件打开的所有文件?
【发布时间】:2012-02-02 11:56:23
【问题描述】:

我想写一个监控程序。它将监控一个特殊的软件。当这个软件打开文件时,它会记住启动历史。所以我可以为一些软件制作自己的“收藏夹”或“历史”系统。

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

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

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

【问题讨论】:

  • sysinternals 工具是否包含源代码?

标签: c# system message monitor total-commander


【解决方案1】:

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

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

【讨论】:

  • 感谢您的快速回复。我知道有些工具可以监控消息。但我的目标是制作一个像“收藏夹文件列表”这样的小工具。我编写代码来收集历史数据,并将数据导出到列表框。就像 TC 中的“最近打开的文件”。
【解决方案2】:

我还在为大学项目制作儿童监控软件。 我找到了一些解决方案。

  1. Windows HOOK 并拦截所有文件read write..etc.(hard & complex)
  2. 为什么不只检查 MyRecentDocuments 文件夹...:P(用户可以更改有利和不利的设置)

如果我们可以使用“Process”类并做某事.. :P

编辑----------------

我差点忘了... 当我实现进程监控组件时,我发现当用户双击一个文件“dllhost.exe”时会运行。 :) 我想你知道现在该做什么了..我还在努力..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 2010-09-18
    • 2011-03-05
    • 2011-11-26
    • 2012-06-24
    相关资源
    最近更新 更多