Вниз
Скачать: CL | DM;

hook на нажатие клавишь, ошибка   Найти похожие ветки 

← →
SkyN ©   (2003-09-01 13:01) [0]

Ставлю хук на нажатие клавишь.
Если активным является не окно моего преложения, то возникает системная ошибка (1400): "неверный дескриптор окна", и похоже что при каждом нажатии клавишь гибнет explorer.


var
HookHandle: HHook = 0;

Function KeyboardHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;
Begin
If Code IN [HC_ACTION, HC_NOREMOVE] Then
Form1.Memo1.Lines.Add(IntToStr(ParamW)+"//"+IntToStr(Code));
Result := CallNextHookEx(HookHandle, Code, ParamW, ParamL);
End;

procedure TForm1.FormCreate(Sender: TObject);
begin
HookHandle:=SetWindowsHookEx(WH_KEYBOARD, @KeyboardHook, HInstance, 0);
if HookHandle=0 then Application.MessageBox("Не поставлен хук","Ошибка")
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(HookHandle);
end;


← →
SkyN ©   (2003-09-01 14:37) [1]

помогите плиз


← →
NAlexey ©   (2003-09-01 15:04) [2]

Третий параметр в SetWindowsHookEx который у тебя HInstance сделай его - 0. Четвертый параметр сделай GetCurrentThreadId.


← →
Song ©   (2003-09-01 15:19) [3]

SetWindowsHookEx(WH_KEYBOARD, @KeyboardHook, HInstance, 0); - это ты пытаешься сделать глобальную ловушку, тогда как call-back функция хука у тебя в программе.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
1-8379
Lena19
2003-10-22 23:14
2003.11.03
где взять модуль SusUtils


14-8662
Ал
2003-10-14 08:48
2003.11.03
Чем можно сделать многоцветные *.ico как в XP


8-8548
J.
2003-07-01 21:30
2003.11.03
1.Desktop 2.Image


1-8468
Rookie
2003-10-24 11:39
2003.11.03
Свойство не видно в Object Inspector


1-8423
AlexTregubov
2003-10-22 12:24
2003.11.03
Hint произвольной формы




   Наверх