Кстати, с этим нововведением в Windows7 появляется еще одна не очевидная проблема. На самом деле таймаут распространяется не на отдельный обработчик хука, а на все обработчики, которые были зарегистрированы на данный тип хука. В результате может возникнуть следующая ситуация. Пришло событие, система вызывает первый обработчик в цепочке. Допустим это наша программа. Она быстренько делает что задумано и вызывает CallNextHookEx. Допустим следующий в цепочке обработчик находится в чужой программе, и он не укладывается в таймаут. Система тихо снимат первый хук в цепочке (то есть наш). Получается что мы пострадали из-за нерасторопности чужой программы.
Ответов: 163
Рейтинг: 33
|
|||
карма: 3 |
|