Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Конфликт SetWindowsHookEx при 5 нажатии Shift


Автор: dmitry120873 7.6.2009, 17:48
Как можно корректно обработать следующую ситуацию:
для обработки перехвата нажатий клавиатуры использую функцию
SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0).
Однако, при пятикратном нажатии Shift после высвечивания стандартного окна Windows с сообщением о залипании клавиши Shift и нажатии в нём Ok, 
перестаёт работать клавиатура пока не закрою свою программу.
Спасибо!

Автор: HiVeR 12.6.2009, 20:02
dmitry120873, как вариант - ставить ещё один хук на окна, а именно, если не ошибаюсь, на HCBT_ACTIVATE или Create... и вот, перехватывать появляющиеся окна, и, если появилось окно с названием "Залипание клавиш" - отменять залипание (нажимать кнопку "отмена")..
ещё вариант, менее качественный, но оч простой - искать по таймеру это окно, и в случае нахождения закрывать.
p.s. а может просто выключить залипание?
p.s.s у себя как ни пробовал - "залипить" ничего не удалось, все клавиши работают во всех приложения, даже если просто нажать OK или убрать фокус с появившегося окошка. smile не знаю почему так, может у меня просто выключено залипание..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)