Низкоуровневый перехватчик мыши C # и обработка событий формы

Я использую простую форму, созданную VS 2010, которая содержит 2 кнопки, start и stop. Запуск запускает WH_MOUSE_LL с помощью SetWindowsHookEx, а остановка останавливает ловушку. Хук работает нормально, и мне удается «заменить» щелчок средней кнопки мыши двойным щелчком, единственная проблема, с которой я столкнулся, - это нажатие на кнопки «Свернуть / Развернуть / Закрыть» формы, кажется, что между ними существует какая-то «гонка событий». ловушка и события, вызываемые упомянутыми выше кнопками. Это отражает тот факт, что когда вы нажимаете одну из этих кнопок, она остается «нажатой» некоторое время, прежде чем завершит свое действие (например, форма сворачивается). Когда я щелкаю правой кнопкой мыши форму и выбираю одно из этих действий, она немедленно реагирует, то же самое происходит, когда я останавливаю ловушку и нажимаю одну из кнопок, упомянутых выше. Кто-нибудь сталкивался с таким поведением?

6
задан Chris Shouts 29 August 2011 в 16:21
поделиться