Я пытаюсь написать программу на Python, которая знает, когда отображаются окна / диалоги предупреждений. Он работает с несколькими мониторами, и я хочу, чтобы он отображал визуализацию на дополнительном мониторе, когда мигает значок на панели задач, появляется сообщение об ошибке / уведомление и т. Д.
Насколько я могу судить, способ обнаружения этих событий заключается в использовании перехватчиков сообщений, как описано здесь: http://msdn.microsoft.com/en-us/library/ms632589%28v=vs.85%29.aspx
Мне даже посчастливилось найти пример, который обращается к функции SetWindowsHookEx из Python. (Этот конкретный пример использует сигналы мыши, но я могу просто изменить константы для прослушивания различных сообщений).
http://www.python -forum.org / pythonforum / viewtopic.php? Е = 2 & т = 11154
Однако приведенный выше пример не работает. Функция обратного вызова никогда не вызывается, независимо от моих щелчков мыши, и средний щелчок мыши не приводит к завершению программы.
Пример взят из 2009 года (до Windows 7?), Хотя я не знаю, в этом ли проблема.
Итак, мой вопрос: может ли кто-нибудь 1. выяснить, почему код работает, или 2. подсказать мне другой способ добиться того, что я делаю (предпочтительно в Python, хотя я перейду на другие языки, если потребуется) .
Редактировать: Можно ли делать то, что я хочу, с WMI? Я плохо знаю WMI, но знаю, что у него очень хороший интерфейс Python.