Detectar pressionamento de tecla com o ap. em segundo plano

Delphi

31/10/2005

Olá galera...

bom, eu gostaria de saber c alguém aqui sabe como eu faço pra o meu aplicativo detectar se uma determinada tecla é pressionada no windows, com o programa minimizado por exemplo e se essa tecla for pressionada o programa simular um clique em um de seus botões por exemplo...

Grato pela atenção
abraços


Wart

Wart

Curtidas 0

Respostas

Arcanjo_junior

Arcanjo_junior

31/10/2005

De uma estudada em Hook.
Aqui que um componente que acho que vai lhe interessar, é free e extremamente fácil de se usar.

[url]http://bome.com/delphi/watch/[/url]


Bom trabalho.
<@rCANj0>

P.S.: Faça BOM uso desta tecnologia :D


GOSTEI 0
Wart

Wart

31/10/2005

hehehe, o uso vai ser bom... eu trabalho com georreferenciamento e eh embassado ficar clicando... eu consegui aki... vai ser uma mão na roda viu...
brigadão cara, um abraço


GOSTEI 0
Dgsfilho

Dgsfilho

31/10/2005

Estou fazendo um programinha que vai realizar determinadas funções quando for prescionada uma tecla, só que o programa não pode estar com o form ativo, ou seja, estarei utilizando qualquer aplicativo e quero chamar uma função do meu programa.

Exemplo do meu código:

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
// se for prescionada a tecla F5
   if Key = VK_F5 then
   begin
      ShowMessage(´Prescionou F5´);
   end;
// obs.: A propriedade KeyPreview do form foi modificada para true
end;


No evento on clique de um botão nesse form ele esconde o form
procedure TfmCliker.Button1Click(Sender: TObject);
begin
   Form1.Hide;
end;


Se minha aplicação está ativa isso funciona normalmente, mas se ela estiver Hide não funciona.
Alguém sabe como posso fazer isso com o form em modo Hide ou tro tipo, com tanto que ele não esteja aparecendo.


GOSTEI 0
Dgsfilho

Dgsfilho

31/10/2005

:) Esqueci de dizer que gostaria de fazer isso sem o uso de componentes.


GOSTEI 0
Vitor Rubio

Vitor Rubio

31/10/2005

deem uma pesquisada aqui mesmo no forum sobre keylogger e apihooking. Deem uma olhada também na biblioteca bmsapihooking, do Nildo.

existem exemplos com as duas soluções.

a solução que não usa a blioteca do nildo é interessante pra vc ver como funcionam as coisas por dentro, tem um fonte assim, com um exe e uma dll, num dos artigos do site da clubedelphi, e tem o link pro download num dos tópicos do forum. vc pode adaptar para o que precisar.


GOSTEI 0
Dgsfilho

Dgsfilho

31/10/2005

Cara não tem nada mais simples não? Algo que não utilize dll... Consegui fazer utilizando o componente Watch mas gostaria que não precisasse de nenhum componente ou dll. Se puder explicar com mais detalhes sou leigo nessa parte de hook e keylog :oops:


GOSTEI 0
POSTAR