我试图弄清楚如何捕获进程/窗口的所有窗口消息,从它在 c# 中启动时开始。该过程不是我自己的,所以我需要使用某种钩子。我的目标是开始实时捕获从初始窗口创建之前到应用程序退出并将所有消息输出到文本框或文件的所有消息。所以基本上从执行应用程序的那一刻起。
因为我想从它启动时捕获它,所以我可能不会有窗口句柄,因为它们还没有句柄。所以我猜这可能很棘手。
他们的应用程序可以执行此操作供我参考吗?我只想要来自应用程序的所有消息。
我的目标是开始实时捕获之前的所有消息
初始窗口创建,到应用程序退出并输出所有
发送到文本框或文件的消息。
听起来您想要“实时”监控注册表、文件系统、进程等活动。
过程监控器 http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx这一切都已经完成了,你可以使用它来连接它EasyHook http://www.codeproject.com/Articles/27637/EasyHook-The-reinvention-of-Windows-API-hooking
因为我想从它启动时捕获它,所以我可能不会有窗口句柄,因为它们还没有句柄。所以我猜这可能很棘手。
这篇代码项目文章提供了一种方法,可以防止执行未出现在允许在特定计算机上运行的软件列表中的任何程序。也许您可以对其进行调整以满足您的需求。http://www.codeproject.com/Articles/11985/Hooking-the-native-API-and-controlling-process-cre http://www.codeproject.com/Articles/11985/Hooking-the-native-API-and-controlling-process-cre
如果您想要低级方法,我建议您阅读挂钩和 Dll http://www.codeproject.com/Articles/1037/Hooks-and-DLLs.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)