Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2017
wonderDev wonderDev is offline
Registrado
 
Registrado: dic 2015
Posts: 9
Poder: 0
wonderDev Va por buen camino
Talking Hook a nivel de sistema a Copiar/Pegar/Cortar/etc.

Hola amigos, ante todo un abrazo a los que me lean. Resulta que necesito un ejemplo de como hacer un hook a nivel de sistema para capturar cuando el usuario copia, corta, pega, elimina etc. los archivos en el PC. La idea es que mi app no interferiria con esos procesos, simplemente guardaria estos datos en una BD Sqlite. Para poder sacar un reporte mas o menos asi:

En fecha tal | El usuario tal | Realizo la accion tal (copiar, pegar, etc) | Sobre el fichero tal | Hacia el fichero mas cual

Eso es para que tengan la idea de como funcionaria la app. Segun vi, para esto se crea una dll que inyecta el hook a nivel de sistema y luego una app llama a esa dll y activa el hook para recibir las notificaciones. Por favor alguien me podria mostrar un ejemplo de como crear la DLL y como usarla desde un App?

PD: Utilizo Delphi XE 10.1 Berlin y la app debe de correr al menos desde Windows XP hasta Windows 10 !
Responder Con Cita
  #2  
Antiguo 28-11-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces de final de página por si te sirve alguno, también puedes hacer una búsqueda por "hook". Saludos.
Responder Con Cita
  #3  
Antiguo 29-11-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues uno de los primeros artículos que escribí en el blog se titulaba "Jugando con el portapapeles (artículo)" y trataba justo ede eso. De crear un Hook para el portapapeles.
Revísalo a ver si es lo que necesitas.
Incluye código fuente.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 30-11-2017
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Sobre la copia y creación de nuevos archivos, a raíz de este hilo: Saber cuando se crea un archivo nuevo en un directorio publiqué esto otro más completo: Monitorizando el Shell sólo con la API

Sobre la monitorización del ClipBoard tenemos Visor del ClipBoard y Explorar el ClipBoard en busca de ficheros copiados

Una forma de conocer el usuario de la sesión:
Código Delphi [-]
type
  PTOKEN_USER = ^TOKEN_USER;
  TOKEN_USER = record
    User: TSidAndAttributes;
  end;

function GetCurrentUser: String;
var
  hToken: THANDLE;
  Buffer: array [0..1023] of BYTE;
  cbBuf: DWORD;
  ptiUser: PTOKEN_USER;
  snu: SID_NAME_USE;
  User, Domain: ShortString;
  USize, DSize: DWORD;
begin
  ptiUser:= PTOKEN_USER(@Buffer[0]);
  if OpenProcessToken(THANDLE(-1), TOKEN_QUERY, hToken) then
    if GetTokenInformation(hToken, TokenUser, ptiUser, sizeof(Buffer), cbBuf) then
      LookupAccountSid(nil, ptiUser.User.Sid, @User[1], USize, @Domain[1], DSize, snu);

  User[0]:= CHAR(USize);
  Result:= User;
end;

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Hacer un hook a nivel de sistema y obtener HCBT_MOVESIZE, HCBT_ MinMax deneus API de Windows 0 03-11-2010 00:49:15
Copiar/Cortar/Pegar supermilloriver OOP 1 01-04-2007 10:59:37
copiar , pegar , cortar vicdem Varios 6 29-06-2006 14:37:25
Copiar pegar y cortar una imagen!!!! Juangu Gráficos 4 09-06-2005 19:28:24
Hook para Mouse y Teclado a nivel del Sistema COCOL API de Windows 2 22-02-2005 04:31:07


La franja horaria es GMT +2. Ahora son las 21:41:21.


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