to jest wziete z FAQ ale jak tu dopisac jakis warunek ktory reagowalby na wcisniecie klawiszy Shift,alt, F1-F12?
Oto kod ukazujący jak założyc funkcję przechwytująca na klawiaturę. W interface:
var MainHook : HHOOK;
function KeyHook(Code: Integer; wParam : WPARAM; lParam : LPARAM): Longint; stdcall;
A w Implementation:
function KeyHook(Code: Integer; wParam : WPARAM; lParam : LPARAM): Longint; stdcall;
var
Buffer: TEventMsg;
begin
result := 0 ;
Buffer := PEventMsg(lParam)^;
if Buffer.message = wm_KeyDown then
Form1.Memo1.Text := Form1.Memo1.Text + chr(Buffer.paraml);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MainHook := SetWindowsHookEx(wh_JournalRecord, KeyHook, HInstance, 0);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(MainHook);
end;