如何从进程开始捕获所有应用程序/窗口消息?

时间:2013-09-08 04:41:48

标签: c# .net hook pinvoke messaging

我正在试图弄清楚如何捕获进程/窗口的所有窗口消息,从它在c#中启动的时间开始。这个过程不是我自己的,所以我需要使用某种钩子。我的目标是从初始窗口创建之前开始实时捕获所有消息到应用程序退出并将所有消息输出到文本框或文件。所以基本上从应用程序执行的那一刻开始。

由于我想从它启动时捕获它,我可能没有窗口句柄,因为它们将无法处理。所以我觉得它可能很棘手。

他们的应用程序是否可以用于参考?我只想要来自应用程序的所有消息。

1 个答案:

答案 0 :(得分:1)

  

我的目标是从以前开始实时捕获所有消息   初始窗口创建,应用程序退出并输出所有   消息到文本框或文件。

听起来你想要对注册表,文件系统,进程和等活动进行“实时”监控。

Process Monitor已完成所有这些操作,您可以使用EasyHook

挂钩
  

因为我想从它发布的时候捕获它,我可能   没有窗把手,因为它们将无法处理。我也是   这可能很棘手。

此代码项目文章提供了一种方法,用于防止执行任何未出现在允许在特定计算机上运行的软件列表中的程序。也许您可以根据自己的需要进行调整。 http://www.codeproject.com/Articles/11985/Hooking-the-native-API-and-controlling-process-cre

如果您想要低级别的方法,我建议您阅读Hooks and Dlls