Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: CL | DM;

Вниз

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

 
velk ©   (2003-01-27 15:37) [0]

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


 
Axis_of_Evil ©   (2003-01-27 15:39) [1]

хук


 
velk ©   (2003-01-27 15:46) [2]

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


 
velk ©   (2003-01-27 15:51) [3]

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;



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

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


 
velk ©   (2003-01-27 16:10) [5]

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


 
velk ©   (2003-01-27 16:23) [6]

/


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

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:29) [8]

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


 
Song ©   (2003-01-27 21:12) [9]

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


 
velk ©   (2003-01-28 07:59) [10]

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



Страницы: 1 вся ветка

Текущий архив: 2003.03.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-76622
Карелин Артем
2003-03-06 13:32
2003.03.24
Интернет-ужас.


1-76455
Игорь Шевченко
2003-03-11 14:29
2003.03.24
OpenDialog порождает дополнительные потоки


7-76691
Инга
2003-01-30 18:45
2003.03.24
Как можно перехватить нажатие Ctrl-Alt-Del


14-76587
_MAD_
2003-03-06 15:17
2003.03.24
Outlook menu


14-76608
Думкин
2003-03-07 06:54
2003.03.24
Начальство,.. будь оно ....