01/04/2006

Reconhecer Tecla precionado!!!!

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...

:cry: 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...


Sadao

Respostas

02/04/2006

Kroki

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...


Responder Citar

02/04/2006

Janbaceiredo

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 [b:ef88659754]propriedade Interval[/b:ef88659754] do componente Timer1 para [b:ef88659754]1[/b:ef88659754]
:arrow: 3 passo: De duplo clique no componente Timer que voce colocou no Form e insira o codigo abaixo:
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) + ´&93;´);
          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.


Responder Citar