Python ctypes:从未调用过SetWindowsHookEx回调函数

|| 我正在尝试用Python编写一个程序,该程序知道何时显示警报框/对话。它正在处理多个监视器,并且我希望它在任务栏图标闪烁,错误/通知弹出等情况下在辅助监视器上显示可视化图像。 据我所知,检测这些事件的方法是使用消息挂钩,如此处所述:http://msdn.microsoft.com/zh-cn/library/ms632589%28v=vs.85%29.aspx 我什至很幸运地找到了一个从Python访问SetWindowsHookEx函数的示例。 (此示例使用鼠标信号,但我可以更改常量以侦听不同的消息)。 http://www.python-forum.org/pythonforum/viewtopic.php?f=2&t=11154 但是,上面的示例不起作用。无论我单击鼠标如何,都不会调用该回调函数,并且单击鼠标中键不会导致程序退出。 该示例来自2009年(Windows 7之前的版本?),尽管我不知道这是否是问题所在。 因此,我的问题是,任何人都可以1.找出代码为什么起作用,或者2.告诉我另一种实现我正在做的事情的方法(最好是Python,不过如果需要的话我会去其他语言)。 编辑:是否可以用WMI做我想做的事情?我不太了解WMI,但是我知道它确实具有非常好的Python接口。     
已邀请:
        除了WH_KEYBOARD_LL和WH_MOUSE_LL,Windows挂钩必须在Windows注入每个应用程序进程的DLL中实现。因此,您不能简单地在程序中实现回调并期望Windows运行它。 我可以想到两种解决此问题的方法: 用C或C ++编写一个DLL,该DLL实现钩子过程并通过某种形式的进程间通信通知您的主程序。然后将此DLL加载到主程序中,并将其模块句柄和在该DLL中实现的挂钩过程传递给SetWindowsHookEx。 SetWinEventHook函数可能会为您提供所需的内容。 WinEvent挂钩可以在您的主程序中实现。     

要回复问题请先登录注册