Pessoal,

Fiz várias pesquisas na internet sobre hook de teclado.
Consegui ler as teclas mas não sei como trocar por outra.
Alguém já fez algo parecido?
Segue o código que estou usando:

var
 HC_KEYBOARD_Handle:THandle; // Handle da hook

type
 { Structure used by WH_KEYBOARD }
 PKBDLLHookStruct = ^TKBDLLHookStruct;
 {$EXTERNALSYM tagKBDLLHOOKSTRUCT}
 tagKBDLLHOOKSTRUCT = packed record
   vkCode     : DWORD;
   scanCode   : DWORD;
   flags      : DWORD;
   time       : DWORD;
   dwExtraInfo: PULONG;
 end;
 TKBDLLHookStruct = tagKBDLLHOOKSTRUCT;
 {$EXTERNALSYM KBDLLHOOKSTRUCT}
 KBDLLHOOKSTRUCT = tagKBDLLHOOKSTRUCT;

{ 
------------------------------------------------------------------------------------------------
}
{ hook função tipo teclado
                           }
{ 
------------------------------------------------------------------------------------------------
}
function KeyboardProc(nCode:Integer; wParam:WPARAM;
lParam:LPARAM):LRESULT; stdcall;
var
 bcCtrl: SHORT;
 bclParam: PKBDLLHookStruct;
begin
 Result := 1;
 bcCtrl := 0;
 bclParam := Ptr(lParam);
 if ((nCode = HC_ACTION) or (nCode = HC_NOREMOVE)) then
 begin
   if wParam = 194 then
     ShowMessage('ponto!');
 end;
 Result := CallNextHookEx(0, nCode, wParam, lParam);
end;
{ 
------------------------------------------------------------------------------------------------
}
procedure TForm1.FormCreate(Sender: TObject);
begin
 HC_KEYBOARD_Handle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardProc,
0, GetCurrentThreadID);
end;
{ 
------------------------------------------------------------------------------------------------
}
procedure TForm1.FormDestroy(Sender: TObject);
begin
 UnhookWindowsHookEx(HC_KEYBOARD_Handle);
end;


--
Atenciosamente,

   Vanius Roberto Bittencourt


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a