Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-06-2016
Ripoll1021 Ripoll1021 is offline
Registrado
 
Registrado: jul 2008
Posts: 5
Poder: 0
Ripoll1021 Va por buen camino
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;
Responder Con Cita
  #2  
Antiguo 22-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Ripoll1021 Ver Mensaje
Buenas a todos, tengo un problema con mi aplicacion
¿Y qué problema es?
¿Tiene algo que ver con internet?
Responder Con Cita
  #3  
Antiguo 22-06-2016
Ripoll1021 Ripoll1021 is offline
Registrado
 
Registrado: jul 2008
Posts: 5
Poder: 0
Ripoll1021 Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
¿Y qué problema es?
¿Tiene algo que ver con internet?
Es verdad no puse el problema y lo postee en la seccion incorrecta, lo podras borrar?
Responder Con Cita
  #4  
Antiguo 23-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Ripoll1021 Ver Mensaje
Es verdad no puse el problema y lo postee en la seccion incorrecta, lo podras borrar?
No hace falta borrarlo, simplemente escribe aquí un nuevo post explicando correctamente todo.
Ya lo moverá algún moderador al foro adecuado.
Responder Con Cita
  #5  
Antiguo 23-06-2016
Ripoll1021 Ripoll1021 is offline
Registrado
 
Registrado: jul 2008
Posts: 5
Poder: 0
Ripoll1021 Va por buen camino
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
Responder Con Cita
  #6  
Antiguo 23-06-2016
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Es mucho más eficiente un hook al te lado tipo WH_KEYBOARD_LL

Saludos
Responder Con Cita
  #7  
Antiguo 23-06-2016
Ripoll1021 Ripoll1021 is offline
Registrado
 
Registrado: jul 2008
Posts: 5
Poder: 0
Ripoll1021 Va por buen camino
Cita:
Empezado por escafandra Ver Mensaje
Es mucho más eficiente un hook al te lado tipo WH_KEYBOARD_LL

Saludos
Hola Escafandra, me podrias ayudar con un ejemplo, estoy bastante perdido.

Gracias
Responder Con Cita
  #8  
Antiguo 23-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Usa las búsquedas de los foros
Encontrarás varios hilos sobre el mismo tema.
Responder Con Cita
  #9  
Antiguo 24-06-2016
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
¿Cual es la lógica del funcionamiento? ¿Qué hace esa app web y porqué te interesa capturar las pulsaciones de teclado? ¿Cuando falla, qué es lo que no va bien? ¿Cómo funciona tu lector de barras?

El código que expones trata de hacer dos cosas, la primera es capturar el texto de una ventana y la segunda es capturar el teclado si no consigue el primer objetivo.
No queda claro el uso de wnd1 y wnd2, en principio parece que son array of char.
Todas esas cosas debes tener claras a la hora de saber porqué y donde falla ese código.


Saludos.

Última edición por escafandra fecha: 24-06-2016 a las 23:00:15.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 14:44:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi