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

Вниз

Реализация HOOK   Найти похожие ветки 

 
Alex_s   (2004-09-16 12:34) [0]

Уважаемые мастера!
Помогите плз разобраться с созданием ловушек. Почему у меня при нажатии любой клавиши в переменных code,wparam,lparam всегда одни и те же значения?

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   Memo1: TMemo;
   Edit1: TEdit;
   Edit2: TEdit;
   Edit3: TEdit;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 SysHook:HHook=0;

implementation

{$R *.dfm}

procedure SysKeyProc(code:integer;wParam:word;lParam:longint);
var Key_Kod:word;
begin
 Form1.Edit1.Text:=IntToStr(code);
 Form1.Edit2.Text:=IntToStr(WParam);
 Form1.Edit3.Text:=IntToStr(LParam);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 SysHook:=SetWindowsHookEx(WH_Keyboard,@SysKeyProc,HInstance,0);
 if SysHook<>0 then
 begin
   Memo1.Lines.Clear;
   Memo1.Lines.Add("Есть хук");
 end else
 begin
   Memo1.Lines.Clear;
   Memo1.Lines.Add("Ошибка");
 end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 if UnHookWindowsHookEx(SysHook) then
 begin
   Memo1.Lines.Clear;
   Memo1.Lines.Add("Нет хука");
 end else
 begin
   Memo1.Lines.Clear;
   Memo1.Lines.Add("Ошибка");
 end;
end;

end.


 
MBo ©   (2004-09-16 13:18) [1]

в код не смотрел, но SysKeyProc должно быть со спецификатором STDCALL!


 
Alex_s   (2004-09-16 13:31) [2]

Спасибо MBo!



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

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

Наверх




Память: 0.47 MB
Время: 0.043 c
9-1087201024
com
2004-06-14 12:17
2004.10.17
Как в DirectX вывести жирную линию?


6-1091989502
oleg_SYS
2004-08-08 22:25
2004.10.17
Как послать запрос аутентификацию по HTTP?


3-1095329332
1008
2004-09-16 14:08
2004.10.17
Как ускорить вывод данных?


8-1090319565
Batoon
2004-07-20 14:32
2004.10.17
Работа с картинкой


14-1096280659
esu
2004-09-27 14:24
2004.10.17
Сборник забавных картинок про сисадминов :)