15-06-2021, Saat: 17:36
İyi akşamlar.
kendi programına lazım olduğu için test için yazdığım
form açık iken imleç nerede olursa olsun girilen değeri
istenilen yere atamak için hazırladım. (veya girilen tüm tuşları yakalamak için)
En basit hali ile örnek dosya ekte ihtiyacı olan geliştirsin.
@esistem arkadaşımızın örnekleri yol gösterdi teşekkür ederim.
https://www.delphican.com/showthread.php?tid=421
kendi programına lazım olduğu için test için yazdığım
form açık iken imleç nerede olursa olsun girilen değeri
istenilen yere atamak için hazırladım. (veya girilen tüm tuşları yakalamak için)
En basit hali ile örnek dosya ekte ihtiyacı olan geliştirsin.
@esistem arkadaşımızın örnekleri yol gösterdi teşekkür ederim.
https://www.delphican.com/showthread.php?tid=421
{ Bu kodda amaç imleç nerede olursa olsun hook açık iken klavyeden veya Barkoddan yazılan okutulan bilgiler. Otomatik istenilen edit yönlendiriliyor. Hook kapalı iken imleç nerede ise oraya giriş yapılıyor. } unit Delphi_hook; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls,Vcl.ExtCtrls, Vcl.ComCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Button1: TButton; Button2: TButton; procedure FormDestroy(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; KBHook: HHook; //giriş yakalama function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt): LongInt; stdcall; // hook yakalama implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin if Button1.Tag=0 then begin KBHook:=SetWindowsHookEx(WH_KEYBOARD,@KeyboardHookProc,HInstance,GetCurrentThreadId()) ; //giriş yakalama button1.Caption:= 'Hook Kapat'; Button1.Tag:=1; end else begin UnHookWindowsHookEx(KBHook); button1.Caption:= 'Hook Kapat'; Button1.Tag:=0; end; end; procedure TForm1.Button2Click(Sender: TObject); begin form1.Close; end; procedure TForm1.FormCreate(Sender: TObject); begin Button1.Tag:=0; end; procedure TForm1.FormDestroy(Sender: TObject); begin UnHookWindowsHookEx(KBHook) End; function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt) : LongInt; begin form1.edit5.SetFocus; { case WordParam of vk_Space: // boşluk tuşuna basıldı begin // boşluk tuşuna basıldı yapılacaklar end; vk_Right: showmessage('sağ ok basıldı');// sağ ok basıldı; vk_Left: showmessage('sol ok basıldı');// sağ ok basıldı; vk_Up: showmessage('yukari ok basıldı');// yukari ok basıldı; vk_Down: showmessage('aşağı ok basıldı');// yukari ok basıldı; end;} {case} Result:=0; {To prevent Windows from passing the keystrokes to the target window, the Result value must be a nonzero value.} end; end.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)