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

Вниз

hook   Найти похожие ветки 

 
dikiy   (2005-12-04 14:07) [0]


var
 Hook: HHook;
function GetMsgProc(code: integer; wParam: Longint; lParam:
Longint): longword; stdcall;
//начало выполнения
procedure TForm1.FormCreate(Sender: TObject);
begin
 Hook:=SetWindowsHookEx(WH_GETMESSAGE, @GetMsgProc, 0, 0);
end;
function GetMsgProc(code: integer; wParam: Longint; lParam:
Longint): longword; stdcall;
begin
 if code< 0 then
  begin
    result:=CallNextHookEx(Hook,code,wParam,lparam);
    Exit;
  end;
 if ( PMsg(lParam).message  = wm_char)then
 begin
   //обработка пойманого сообщения
   Form1.Memo1.Lines.Add("a");
 end;
 result:=0;
 CallNextHookEx(Hook,code,wParam,lparam);

end;


Пытаюсь поймать wm_char, но на него не срабатывает.
Может надо использовать другой тип ловушки(с возможностью изменения сообщения)?


 
Lamer@fools.ua ©   (2005-12-04 14:56) [1]

>>dikiy   (04.12.05 14:07)

Вы пытаетесь установить глобальную ловушку, а глобальная ловушка такого типа должна находиться в отдельной библиотеке (DLL). В Вашем случае глобальная ловушка, видимо, не нужна:
Hook:=SetWindowsHookEx(WH_GETMESSAGE, @GetMsgProc, 0, GetCurrentThreadId);

P.S. Читайте справку по функции SetWindowsHookEx().



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

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

Наверх




Память: 0.46 MB
Время: 0.088 c
6-1126183852
CARABAS
2005-09-08 16:50
2005.12.18
Как обратиться к реестру по сети?


5-1109751986
ancara
2005-03-02 11:26
2005.12.18
Компонент не ловит WM_KEYDOWN :(


8-1112926472
Deedlit
2005-04-08 06:14
2005.12.18
ImageList => SpeedButton


1-1132785632
BigProg
2005-11-24 01:40
2005.12.18
Как уничтожить класс, который ожидает реакцию пользователя?


2-1133273255
бедный студент
2005-11-29 17:07
2005.12.18
шаг цикла