Хук блокировка клавиатуры на Delphi

soldxqe

RAM
Пользователь
Регистрация
24.05.2019
Сообщения
107
Реакции
36
Баллы
23
Завалялось - может быть кому -то пригодиться.

Код:
unit Unit1;

interface

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

 const

    WH_KEYBOARD_LL = 13;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Button7: TButton;
    Button8: TButton;
    Button11: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button9: TButton;
    Button10: TButton;
    Button12: TButton;
    Button13: TButton;
    Button14: TButton;
    Button15: TButton;
    Image1: TImage;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

     HookHandle: HHOOK = 0;

implementation

{$R *.dfm}

 // Процедура обработчик хука
function KeyboardHookHandler(Code, WParam, LParam: DWORD): DWORD; stdcall;
begin
 
  Result := 1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 if HookHandle = 0 then
    HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyboardHookHandler, hInstance, 0);
  showmessage('Клавиатура Заблокирована!!!');

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

if edit1.text = '2012' then

begin
  if  HookHandle <>0  then
    UnhookWindowsHookEx(HookHandle);
  HookHandle:=0;
showmessage('Клавиатура Разблокирована!!!');
edit1.clear;
   end


   else
   begin
 if Edit1.Text <> '2012' then
 showmessage('Код Неверный!!!');
 edit1.Clear;



end;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.text:=edit1.text+'1';
end;


procedure TForm1.Button4Click(Sender: TObject);
begin
   edit1.text:=edit1.text+'2';
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
   edit1.text:=edit1.text+'3';
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
   edit1.text:=edit1.text+'4';
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
    edit1.text:=edit1.text+'5';
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
   edit1.text:=edit1.text+'6';
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
    edit1.text:=edit1.text+'7';
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
   edit1.text:=edit1.text+'8';
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
  edit1.text:=edit1.text+'9';
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
  edit1.text:=edit1.text+'0';
end;

procedure TForm1.Edit1Change(Sender: TObject);
  var pass:string;
begin
pass:='2012';
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if not (key in['0'..'9', #8]) then
 key:=#0
end;

end.
 

500mhz

(L2) cache
Модератор
Регистрация
29.04.2008
Сообщения
473
Реакции
372
Баллы
71
Говнокод же
в 1 строку все даелается RUNDLL32.exe keyboard,disable
 

soldxqe

RAM
Пользователь
Регистрация
24.05.2019
Сообщения
107
Реакции
36
Баллы
23
Говнокод же
в 1 строку все даелается RUNDLL32.exe keyboard,disable
говнокод это по вашему - а для примера новичкам нормально. Залей не говнокод? Здесь у вас на форуме 99% говно кода.
 

Haunt

(L3) cache
Пользователь
Регистрация
07.11.2019
Сообщения
238
Реакции
326
Баллы
68

soldxqe

RAM
Пользователь
Регистрация
24.05.2019
Сообщения
107
Реакции
36
Баллы
23
Так он же и залил? Не?
RUNDLL32.exe keyboard,disable
А что бы он сказал, если бы я выложил в одну строчку?) ведь с калбеком хук на много интереснее - чем то что скинул он.. более простой вариант.
 

loxz1

floppy-диск
Пользователь
Регистрация
23.03.2020
Сообщения
3
Реакции
1
Баллы
1
where do you need this
 
Верх