Возможно, вы пытаетесь многое сделать, отказавшись от обратного вызова события.
Любой обратный вызов функции события, настроенный с помощью HookManager и PumpMessages, должен возвращаться как можно быстрее.
Когда вы нажимаете клавишу, Windows достаточно любезна, чтобы сообщить вам о событии, но могут быть и другие программы, которые также нуждаются в этом событии.Вы делаете спящие вызовы в рамках своего мероприятия, но пока вы спите, Windows ждет вашего ответа на ЭТОТ обратный вызов.
Я предполагаю, что после определенного количества возможностей своевременно вернуться, регистрация вашего события аннулируется и игнорируется Windows.
Переместите ваши спящие команды за пределы события и вместо этого запустите вашу фактически нажатую-спящую последовательность за пределами обратного вызова hookmanager.
Редактировать: Ссылки / Ссылка:
Документация PyHook API является одной из лучших (к сожалению), http://pyhook.sourceforge.net/doc_1.5.0/ Если вы заметили, что вы можете многое сделать в рамках мероприятия, становится понятно, почему времяимеет существенное значение.Windows хочет знать, как обрабатывать нажатие клавиш (например), и нажатия клавиш происходят очень быстро, поэтому она хочет знать как можно скорее.
Важно понимать, что PyHook - это очень тонкий слой и большая часть функциональных возможностей.предоставляется Windows, так что лучшие документы взяты из MSDN http://msdn.microsoft.com/en-us/library/ms632589(v=vs.85).aspx. Также может понадобиться взглянуть на некоторую информацию о «сообщениях» (именно там, в конечном счете, и получаются наши PumpMessages) Письменный текст оченьописательные, и многие из констант и значений правильно отображаются через PyHook, хотя хорошие сегменты кода не пишутся на Python.
Вот довольно прямая ссылка на правильную обработку сообщений (именно это знает подсознательный менеджерполучить, и с помощью которого PumpMessages доставляет), http://msdn.microsoft.com/en-us/library/ms644927(v=vs.85).aspx
Если окно верхнего уровня перестает отвечать на сообщения в течение более нескольких секунд, система считает, что окно не отвечает.
и
Обработка сообщений AПриложение должно удалять и обрабатывать сообщения, отправленные в очереди сообщений своих потоков
Когда вы звоните в спящий режим, вы зависаете в своем текущем сообщении и игнорируете другие, которые могут накапливаться.Даже если вы захватите сообщение и сразу же вернетесь, Windows не будет заботиться о том, что вы с ним делаете, пока вы потребляете.