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;
Pergunta
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 para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.