Estou desenvolvendo um programa e percebi que ao capiturar as teclas eu obitive um problema, ao capiturar ele capiturava 2 vezes, exemplo: eu digitava "oi", ele capiturava "ooii" :x
Ainda to aprendendo api e limitei meu macro para capiturar apenas no meu programa por enquanto... segue o código:
var
MacroHook: HHook;
function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt): LongInt; stdcall;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
MacroHook:=SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, GetCurrentThreadId());
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnHookWindowsHookEx(MacroHook);
end;
function KeyboardHookProc(Code: Integer; WordParam: Word; LongParam: LongInt) : LongInt;
begin
case WordParam of //apenas para ver o que o macro está capiturando
vk_Space: form1.Memo1.Text := form1.Memo1.Text + ' ';
vk_Up: form1.Memo1.Text := form1.Memo1.Text + 'UP';
end;
Result:=0;
end;
Question
njorge
Estou desenvolvendo um programa e percebi que ao capiturar as teclas eu obitive um problema, ao capiturar ele capiturava 2 vezes, exemplo: eu digitava "oi", ele capiturava "ooii" :x
Ainda to aprendendo api e limitei meu macro para capiturar apenas no meu programa por enquanto... segue o código:
Link to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.