Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];




Вниз

Hook 


DNT   (2001-12-30 13:37) [0]

Устанавливаю хук на WH_KEYBOARD.
Почему, при нажатию на клавишу выпадает 2 одинаковых значения?
Иногда и больше.
Как выяснить, заглавная буква или прописная?

Вот обработчик:
Function KeyboardHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;
Begin
If Code IN [HC_ACTION, HC_NOREMOVE] Then
Begin
SendMessage(ShareInf^.AppWndHandle, WM_USER, ParamW, Code);
End;
Result := CallNextHookEx(ShareInf^.OldHookHandle, Code, ParamW, ParamL)
End;

А в проге:
Edit1.Text :=Edit1.Text + chr(Message.WParam);



Suntechnic   (2001-12-30 17:13) [1]

WM_KEYUP и WM_KEYDOWN он ловит, поэтому и два раза.



Dimaond Cat   (2001-12-31 15:11) [2]

Сантехник правильно ответил но не предложил выход, а выход соответственно перехватывать либо WM_KEYUP и WM_KEYDOWN либо wm_char каким из этих сообщений пользоваться зависит от поставленной задачи, т.к. в у этих сообщений разные параметры




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.039 c
1-90616           Tadeush               2002-02-12 05:49  2002.02.28  
ошибка во времени создания файла


14-90661          Иван Шихалев          2002-01-15 18:11  2002.02.28  
---|Ветка была без названия|---


3-90510           HDD                   2002-02-04 05:35  2002.02.28  
Допоможите гарны хлопчики и дивченки


14-90645          Andrey                2002-01-11 12:02  2002.02.28  
Контакт! Есть контакт!


1-90613           PlaZZma               2002-02-12 17:17  2002.02.28  
Как проверить, находится ли курсор над компонентом или нет?