挂钩并记录Windows消息队列中的“所有内容”

时间:2009-08-20 12:26:23

标签: python windows message-queue

有没有人有一个工作代码示例,说明如何连接到Windows消息队列(post / sendMessage)并在那里记录所有消息?最好是在Python中。 我对此感兴趣,以便更容易创建模拟用户输入的测试脚本。

3 个答案:

答案 0 :(得分:2)

实际上有一个封装了SetWindowsHookEx函数的包,名为pyHook。我以前用它来写一个原始的密钥记录器(作为监控自己的实验,以协助报告工作时间),并且它工作正常。

答案 1 :(得分:1)

通常使用SetWindowsHookEx Function完成此操作。

在Python中,您可能必须使用第三方库,例如Python for Windows extensions。 可能是您需要的PyCWnd.HookMessagePyCWnd.HookAllKeyStrokes

答案 2 :(得分:1)

您可以使用SetWinEventHook来捕获大多数系统窗口活动。传统钩子的优点是你可以从你的进程中完成它,也就是说,你不需要编写一个钩子DLL。此外,当调用SetWinEventHook的线程完成时,Windows会自动释放处理程序。脱离上下文挂钩可以防止您崩溃其他应用程序,因为注入的DLL上的最小错误可能会发生。