![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Hook [D6, Win2k]
DNT © (2001-12-30 13:37:00)Устанавливаю хук на 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);
Dimaond Cat (2001-12-31 15:11:00) [1]Сантехник правильно ответил но не предложил выход, а выход соответственно перехватывать либо WM_KEYUP и WM_KEYDOWN либо wm_char каким из этих сообщений пользоваться зависит от поставленной задачи, т.к. в у этих сообщений разные параметры
Suntechnic (2001-12-30 17:13:00) [2]WM_KEYUP и WM_KEYDOWN он ловит, поэтому и два раза.