Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перехватить и подменить код нажатой клавиши? [D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]


velk ©   (2003-01-27 15:37:00) 

Как перехватить и подменить код нажатой клавиши?


velk   (2003-01-28 07:59:00) [1]

Может у кого есть пример?
Помогите уж пожалуйста


Song   (2003-01-27 21:12:00) [2]

Чтобы в edit срабатывало надо WH_GETMESSAGE и сравнивать пришедший хэндл с хэндлом едита и делать соответствующий вывод.


velk   (2003-01-27 16:29:00) [3]

Мда спасибо
но мне как раз надо что бы в edit срабатывало


Axis_of_Evil   (2003-01-27 16:27:00) [4]

1)а если ловить WM_Char

2)
Function KeybProc(Code : Integer;W : wParam;L : lParam) :Integer; stdcall;
var s:string;
Begin
if Code<0 then
Result:=CallNextHookEx(KeybHook,Code,W,L)
Else
Begin
W := номер символа;
Result:=0;
End;
End;

Вот только при вводе в Edit и тд не работает


velk   (2003-01-27 16:23:00) [5]

/


velk   (2003-01-27 16:10:00) [6]

Так это надо еще как то отслеживать сообщения что ли?


Axis_of_Evil   (2003-01-27 16:02:00) [7]

wParam := подмена (номер символа кажись)
и inherited в конец процедуры, думаю - для дальнейшей обработки


velk   (2003-01-27 15:51:00) [8]

Function KeybProc(Code : Integer;W : wParam;L : lParam) :Integer; stdcall;
var s:string;
Begin
if Code<0 then
Result:=CallNextHookEx(KeybHook,Code,W,L)
Else
Begin
определили а как подменить?
s:=IntToStr(W);
ShowMessage(s);
Result:=0;
End;
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
KeybHook:=SETWINDOWSHOOKEx(WH_KEYBOARD,@KeybProc,hInstance,0);
end;


velk   (2003-01-27 15:46:00) [9]

Понимаю сделаля hook поймал клавишу
а как теперь ее подставить вместо той которую поймал....
причем это надо сделать не только для какой то формы а для приложения в целом


Axis_of_Evil   (2003-01-27 15:39:00) [10]

хук


Наверх

Титульная страница Поиск, карта сайта Написать письмо