Array
(
)

Reconhecer Tecla precionado!!!!

Sadao
   - 01 abr 2006

Gostaria de uma ajuda... Eu queria que o aplicativo reconhece quando a tecla F1 fosse precionado mesmo quando o aplicativo esteja minimizado... exemplo, vamos supor que eu minimize o aplicativo criado e estou com a tela do windows explorer aberto, ao ser precionado a tecla F1 o aplicativo acione o cronômetro...

Os comandos que consegui na internet apenas reconhecem se eu estiver com o aplicativo aberto, porém quando coloco o aplicativo como segundo plano (minimizado) ele não reconhece o comando feito....

Se alguém poder ajudar agradeço...


Kroki
   - 02 abr 2006

ha um tempo atraz estive lendo um artigo que ensinava a fazer uma DLL para isso,vou ver se acho o site mas eu ainda tenho a DLL compilada(16k)e um exemplo,mesmo minimizado ou invisível seu Form vc pode controlar qualquer tecla.
Passa seu E-Mail ou um link onde eu posso ativar um ´HD virtual´ free...


Janbaceiredo
   - 02 abr 2006

Holla Sadao,

para você fazer isso tem duas formas. Você pode codificar seu aplicativo para capturar a tecla [F1]..[F12] (forma mais facil) ou voce pode usar Hook para interceptar as msg do Windows e pegar o precionamento da tecla.

Em ambos os casos irão ter o mesmo efeito.
Dessa forma vou mostrar a forma mais facil e simples de fazer isso.

:arrow: 1 passo: Coloque um componente Timer (paleta Sytem) no form.
:arrow: 2 passo: Altere a propriedade Interval do componente Timer1 para 1
:arrow: 3 passo: De duplo clique no componente Timer que voce colocou no Form e insira o codigo abaixo:
#Código


procedure TForm1.Timer1Timer(Sender: TObject);
var
I: Byte;
begin
For I:= 8 To 222 Do
Begin
If GetAsyncKeyState(I) = -32767 Then
Begin
Case I of
112..123: //F1-F12
ShowMessage(´[F´ + IntToStr(i - 111) + ´]´);
End;
End;
End;
end;


Pronto. :D
Agora é só executar a aplicação e minimizar ela. Sempre que vc preciosar a tecla [F1]..[F12] elas serão interceptadas.

Espero que ajude,
Sem mais,
Antônio.