Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-79013
Michael_X
2003-11-14 09:27
2003.11.24
Считывание табличных данных из файла.


1-79006
lovres
2003-11-14 10:54
2003.11.24
Zyxel: как моей программы получить №тел входящего звонка?


3-78794
ruslan_as
2003-11-05 13:48
2003.11.24
Как сменить в уже созданной базе InterBase пароль


3-78751
Disruptor
2003-11-04 13:23
2003.11.24
Добавление в одну БД информации из другой


1-79009
Pavels
2003-11-14 10:30
2003.11.24
как спрятать окно с панели задач, делаю так