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

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

← →
Zmei   (2003-11-14 00:09) [0]

Здраствуйте. Я устанавливаю WinHook и перехватываю нажатия клавиш в системе. Но при нажатии на клавишу приходит несколько откликов. Мне нужно сделать что-то типа паузы. Чтобы приходил один ответ.


← →
Rouse_ ©   (2003-11-14 01:40) [1]

Это когда клавиша вниз и вверх?
Пауза это конечно хорошо, но вот намного лучше почитать статьи Юрия Зотова и узнать многое из того что Вам не известно...

Желаю успехов


← →
[NIKEL] ©   (2003-11-14 07:38) [2]

глобальный хук на клаву, как пример


library Hook;
uses Windows, SysUtils;
const KF_UP_MY = $40000000;
var CurrentHook: HHook;
KeyArray: array[0..19] of char;
KeyArrayPtr: integer;
CurFile:text;
function GlobalKeyBoardHook(code: integer; wParam: integer; lParam:
integer): longword; stdcall;
var
i:integer;
begin
if code< 0 then
begin
result:=CallNextHookEx(CurrentHook,code,wParam,lparam);
Exit;
end;
if ( (lParam and KF_UP_MY ) = 0) and (wParam> =65) and (wParam< =90) then
begin
KeyArray[KeyArrayPtr]:=char(wParam);
KeyArrayPtr:=KeyArrayPtr+1;
if KeyArrayPtr> 19 then
begin
for i:=0 to 19 do
begin
Assignfile(CurFile,"C:\hooklog.txt");
if fileexists("С:\hooklog.txt")=false then rewrite(CurFile)
else Append(CurFile);
write(Curfile, KeyArray[i]);
closefile(curfile);
end;
KeyArrayPtr:=0;
end;
end;
CallNextHookEx(CurrentHook,code,wParam,lparam);
result:=0;
end;
procedure SetupGlobalKeyBoardHook;
begin
CurrentHook:=SetWindowsHookEx(WH_KEYBOARD, @GlobalKeyBoardHook,HInstance, 0);
KeyArrayptr:=0;
end;
procedure unhook;
begin
UnhookWindowshookEx(CurrentHook);
end;

exports
SetupGlobalKeyBoardHook, UnHook;
begin
end.




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

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



Память: 0.45 MB
Время: 0.02 c
3-78784
Islander
2003-11-05 15:25
2003.11.24
Как проверить данные перед посылкой в БД, работая через ADO


14-79180
European
2003-10-29 01:20
2003.11.24
Работа в Минске


14-79165
Ёжик
2003-10-19 21:58
2003.11.24
Как написать операционную систему?


7-79207
Samael
2003-09-16 12:28
2003.11.24
Перехват событий в NT/2000/XP


1-78885
Виталя
2003-11-12 16:25
2003.11.24
Прочитать из Word при помощи OLE




   Наверх