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

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

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

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

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

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

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

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

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

如果你想要低级别的方法,我建议你阅读Hooks和Dlls 。