Minha aplicacao fora de foco

02/02/2003

0

MEU PROGRAMA CAPTURA AS TECLAS DIGITADAS PELO USUÁRIO COLOCA NUM MEMO E DEPOIS SALVA EM UMA ARQUIVO A CADA 15 MINUTOS...O PROBLEMA É QUE ELE SÓ FAZ ISSO QUANDO A JANELA ESTÁ ATIVA OU O FOCO ESTÁ NELA....ALGUÉM PODE ME AJUDAR PRECIOS QUE ISSO ACONTEÇA MESMO QDO MEU PROGRAMA ESTIVER MINIMIZADO OU POR EXEMPLO QDO O USUÁRIO TEVIER NO WORD MESMO ASSIM A APLICAÇÃO TEM QUE CAPTURAR AS TECLAS DIGITAS ETC.....ME AJUDEM JÁ FAZ TEMPO QUE TO PERGUNTANDO.....


Morpheus

Morpheus

Responder

Posts

02/02/2003

Anonymous

Como voce esta capturando as teclas na sua aplicacao ? Se o seu programa esta utilizando o evento OnKeyPress, voce nao vai conseguir fazer o que vc esta querendo, somente se vc fizer atraves da captura de tecla do Windows, atraves da captura das mensagens do Windows.

Se nao souber como fazer isso, coloque uma resposta para esse topico.

[]s,

JR


Responder

02/02/2003

Iskatrek

[b:d800f75e55]manda aê vei,
como faz a parada aí!

manipular as msg do win, algumas eu sei, mas a de tecla pressionada ñ,

manda aí o teu exemplo[/b:d800f75e55]


Responder

02/02/2003

Skaarj

Vc qeu uma espécie de Keylloger né?
Olha, ñ sei fzer cm o teclado, ms vou t pssar a função pra desmascarar senha [*], cmo o mouse vvc pssa sobre o texto em [*] que ele mostra em um Hint.. Msmo cm o prog minimizado, vai q t ajuda:

var
WndHint: THintWindow = nil; // declare a variável fora da procedure

procedure TForm1.Timer1Timer(Sender: TObject);
var
Pos: TPoint;
HWin: THandle;
Paswd: array[0..63] of Char;
R: TRect;
begin
GetCursorPos(Pos);
HWin := WindowFromPoint(Pos);
if SendMessage(HWin, EM_GETPASSWORDCHAR, 0, 0) <> 0 then
begin
if WndHint = nil then
begin
WndHint := THintWindow.Create(Self);
WndHint.Color := clInfoBk;
SendMessage(HWin, WM_GETTEXT, 64, Longint(@Paswd));
R := Rect(Pos.X, Pos.Y + 18, Pos.X +
WndHint.Canvas.TextWidth(Paswd) + 8,
Pos.Y + 18 + WndHint.Canvas.TextHeight(Paswd));
WndHint.ActivateHint(R, Paswd);
end;
end
else if WndHint <> nil then
begin
WndHint.ReleaseHandle;
WndHint := nil;
end;
end;


Responder

02/02/2003

Iskatrek

Eu queria por curiosidade saber como pegar uma tecla q ñ esta dirigida aminha aplicacao, nem é p/ o Key logger ñ, é p/ fazer algo q impeca alguns outtros comando em outros progs,

mandem aí o code sobre as msg do Win [b:96b01ff17e]Junior Thurler[/b:96b01ff17e]


Responder

02/02/2003

Skaarj

Eu queria por curiosidade saber como pegar uma tecla q ñ esta dirigida aminha aplicacao, nem é p/ o Key logger ñ, é p/ fazer algo q impeca alguns outtros comando em outros progs, mandem aí o code sobre as msg do Win [b:e118b66ef7]Junior Thurler[/b:e118b66ef7]


Dei uma ideia d cmo receber infos do ambiente externo.. E O q vc pd fzer pra proteger assim sua aplicação? Tirar ALT+F4? CTRL+ALT+DEL..
Isso se faz diferent..


Responder

02/02/2003

Morpheus

realmente e isso que eu preciso...estou usando o evento on-key...mas e claro que naum vai funcionar ja que o form naum estara aberto...como capturar essas teclas...como manipular essas mensagem do windows ???


Responder

02/02/2003

Iskatrek

e aí, [b:165632dec0]Junior Thurler[/b:165632dec0] demosntra aki o uso da msg do Win sobre pressionamento de tecla,


Responder

02/02/2003

Anonymous

É SKAARJ,

Você esperneou mas findou não respondendo o que foi perguntado.Afinal você sabe ou não?


Responder

02/02/2003

Anonymous

para pegar as teclas digitadas, procurem pelo componente KeySpy


espero ter ajudado


[]s a todos

eddye


Responder

02/02/2003

Skaarj

É SKAARJ, Você esperneou mas findou não respondendo o que foi perguntado.Afinal você sabe ou não?


Não sei fzer.. por isso coloqei a funçao d mouse pra vr se dava uma ideia.. As vzs ajuda..
Cansei d vr uma coisa q era aprecida e resolver o probl..
E vc sab?


Responder

02/02/2003

Skaarj

Morpheus, vc usou essa função:

function tbKeyIsDown(const Key: integer): boolean;
begin
Result := GetKeyState(Key) and 128 > 0;
end;


Responder

02/02/2003

Morpheus

REALMENTE AGRADE´´CO A TODOS POR ME AJUDAREM...J´´A TIVE UMA BOA ID´´EIA E SEI QUAL O CAMINHO QUE DEVO TOMAR. Atraves da dica do SKAARJ percebi que tavano caminho errado tb a dica do Junior e todos ...mas naum resolvi meu problema ainda...espero que consiga vou pesquizar e qdo descobrir irei disponibilizar a todos principalmente aos que aki expressaram seu interesse em me ajudar....OBRIGADO....


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar