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