![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
KeyLogger Ayuda
Buenas a todos, tengo un problema con mi aplicacion realizada en lazarus. En algunas PC funciona y en otras no, no se si me falta un uses o algo estoy, perdido y estancado por el momento.
La aplicacion la uso para detectar la lectura de un codigo de barra de otra aplicacion Web (no desarrollada por mi) y busca en logs si el Codigo de barra es correcto. Podrian dar una mano, he intentando tambien hacer la captura de la lectura con un Timer, pero no alcanza a registrar todos los numeros del codigo de barra. Tenia puesto de intervalo 1. No uso una dll para el hook, porque todavia soy principiante, he intentado usar algunas que estan dando vueltas por internet, pero se me complico al llevarlo a Lazarus. Gracias de antemano Código:
unit ulala;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, eventlog, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls, Buttons, ExtCtrls, Menus, UFail, uok, Windows, Messages, Variants;
var
MainForm: TMainForm;
MainHook : HHOOK;
...
function KeyboardHook(Code: Integer; wParam : WPARAM;
lParam : LPARAM): Longint; stdcall;
var
Buffer : TEventMsg;
procedure TranslateKey(Key : Byte);
begin
if (Key <> VK_LBUTTON) and (Key <> VK_RBUTTON) then
begin
GetWindowText(GetForegroundWindow, Wnd2, SizeOf(Wnd2));
if wnd1 <> wnd2 then
begin
Wnd1 := Wnd2;
end;
end;
with MainForm do
begin
case Key of
VK_NUMPAD0 : eImei.text := eImei.text + '0';
VK_NUMPAD1 : eImei.text := eImei.text + '1';
VK_NUMPAD2 : eImei.text := eImei.text + '2';
VK_NUMPAD3 : eImei.text := eImei.text + '3';
VK_NUMPAD4 : eImei.text := eImei.text + '4';
VK_NUMPAD5 : eImei.text := eImei.text + '5';
VK_NUMPAD6 : eImei.text := eImei.text + '6';
VK_NUMPAD7 : eImei.text := eImei.text + '7';
VK_NUMPAD8 : eImei.text := eImei.text + '8';
VK_NUMPAD9 : eImei.text := eImei.text + '9';
48 : eImei.text := eImei.text + '0';
49 : eImei.text := eImei.text + '1';
50 : eImei.text := eImei.text + '2';
51 : eImei.text := eImei.text + '3';
52 : eImei.text := eImei.text + '4';
53 : eImei.text := eImei.text + '5';
54 : eImei.text := eImei.text + '6';
55 : eImei.text := eImei.text + '7';
56 : eImei.text := eImei.text + '8';
57 : eImei.text := eImei.text + '9';
end;
end;
end;
begin
Result := 0;
Buffer := PEventMsg(lParam)^;
if Buffer.Message = WM_KEYUP then
begin
TranslateKey(Buffer.paramL);
end;
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
MainHook := SetWindowsHookEx(WH_JOURNALRECORD, @KeyboardHook, hInstance, 0);
end;
procedure TMainForm.FormDestroy(Sender: TObject);
begin
UnhookWindowsHookEx(MainHook);
end;
|
|
#2
|
||||
|
||||
|
¿Y qué problema es?
¿Tiene algo que ver con internet?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
|||
|
|||
|
Es verdad no puse el problema y lo postee en la seccion incorrecta, lo podras borrar?
|
|
#4
|
||||
|
||||
|
Cita:
Ya lo moverá algún moderador al foro adecuado.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
El Problema reside en que en algunas PC, captura las teclas y el lector de codigo de barra perfectamente y en otras pc, directamente no captura nada.
No se si me falta agregar una DLL o algo Gracias |
|
#6
|
||||
|
||||
|
Es mucho más eficiente un hook al te lado tipo WH_KEYBOARD_LL
Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Keylogger con acentos y más.. | FENIXadr | Trucos | 8 | 22-01-2018 20:13:36 |
| keylogger? | unko! | Internet | 9 | 12-04-2014 01:02:06 |
| keylogger en delphi | cmm07 | Varios | 2 | 10-04-2009 02:33:11 |
| Haciendo mi propio keylogger | jorgegetafe | Varios | 7 | 06-11-2007 01:44:23 |
| Construir un KEYLOGGER | SPARROW | Varios | 3 | 18-02-2004 14:27:00 |
|