有没有人有一个工作代码示例,说明如何连接到Windows消息队列(post / sendMessage)并在那里记录所有消息?最好是在Python中。 我对此感兴趣,以便更容易创建模拟用户输入的测试脚本。
答案 0 :(得分:2)
实际上有一个封装了SetWindowsHookEx函数的包,名为pyHook。我以前用它来写一个原始的密钥记录器(作为监控自己的实验,以协助报告工作时间),并且它工作正常。
答案 1 :(得分:1)
通常使用SetWindowsHookEx Function完成此操作。
在Python中,您可能必须使用第三方库,例如Python for Windows extensions。
可能是您需要的PyCWnd.HookMessage和PyCWnd.HookAllKeyStrokes。
答案 2 :(得分:1)
您可以使用SetWinEventHook来捕获大多数系统窗口活动。传统钩子的优点是你可以从你的进程中完成它,也就是说,你不需要编写一个钩子DLL。此外,当调用SetWinEventHook的线程完成时,Windows会自动释放处理程序。脱离上下文挂钩可以防止您崩溃其他应用程序,因为注入的DLL上的最小错误可能会发生。