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

Вниз

Глобальные хуки   Найти похожие ветки 

 
I am   (2005-12-18 18:54) [0]

Здравствуйте. Я пытаюсь установить глобальный хук на клавиатуру. пользуюсь следующими функциями:

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,"d:\log.txt");
         if fileexists("d:\log.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;

Однако, файл log.txt не создается... Подскажите, плиз, в чем проблема.
Во-вторых, хотел бы узнать, возможно ли как-нибудь получая код нажатой клавиши прогонять через программу, изменять его, и передавать исходной программе другой код. Заранее спасибо.


 
Denis_Ac   (2005-12-18 21:50) [1]


> Однако, файл log.txt не создается...

Ты напиши если сообщения или Exception"ы какие?
> Во-вторых, хотел бы узнать, возможно ли как-нибудь получая
> код нажатой клавиши прогонять через программу, изменять
> его, и передавать исходной программе другой код. Заранее
> спасибо.

Можно через сообщения Windows


 
I am   (2005-12-19 14:15) [2]


> Можно через сообщения Windows

а можно примерчик, пожалуйста


 
I am   (2005-12-19 20:14) [3]

Плизз...


 
Chaser ©   (2005-12-20 10:19) [4]

Смотри здесь:

http://www.delphisources.ru/pages/sources/system/hooks.html
http://www.delphisources.ru/pages/sources/system/2005_year/key_logger.html


 
I am   (2005-12-20 12:39) [5]

Спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
2-1140535462
zxcv
2006-02-21 18:24
2006.03.12
как освобождать память, выделенную под массив


2-1140597616
BigLoy
2006-02-22 11:40
2006.03.12
TMemoryStream


2-1140528664
Лёха
2006-02-21 16:31
2006.03.12
как преобразовать hwnd в string


2-1140985062
Vitalik__
2006-02-26 23:17
2006.03.12
Перевод значения String в число.


2-1140807872
Fl@sh
2006-02-24 22:04
2006.03.12
FireBird!!!!!