Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 или убрать фокус с появившегося окошка. ![]() |