Trucos Detectar apertura y cierre de aplicaciones (Hook de mensajes)

Documentación de la DLL "dscbtshl.dll"     (c) 2001 by J. Thuemmler, Delphin Software
Esta DLL es gratuita y no tiene garantía.

PROPÓSITO DE LA DLL

Instalar un hook para CBT y/o Shell a nivel de thread o de todo el sistema y obtener el nombre del ejecutable para cualquier ventana de la pantalla.

Para usar esta dll, cópiala en la carpeta de tu proyecto, no en el directorio system(32).

CÓMO FUNCIONA

Cuando llamas a la función SetCBTSHLHook(), tanto para un thread como para el sistema, se instala un hook para los mensajes WH_CBT y/o WH_SHELL.

Si las funciones hook encuentran un mensaje, la DLL enviará una copia del mismo a una o dos funciones públicas en tu aplicación, con el siguiente prototipo :

Public Function myFunction&(ByVal hwnd&, ByVal ncode&)

ncode te informa acerca de la actividad detectada
hWnd es el handle de la ventana

La función GetFileName() instala un hook temporal para WH_GETMESSAGE y determina el path del ejecutable que ha creado la ventana hWnd.

FUNCIONES

SetCBTSHLHook

Declaración :
Declare Function SetCBTSHLHook& Lib "dscbtshl" (ByVal Hook&, ByVal cbtAdr&, ByVal shlAdr&)

Parámetros :


Valor de retorno
1 (true), si el hook se instala correctamente, en otro caso 0 (false)

GetFileName

Declaración :
Declare Function GetFileName& Lib "dscbtshl" (ByVal hwnd&, ByVal FileName$)

Parámetros :


Valor de retorno
-3, cuando el hook para obtener el nombre no se pudo instalar
-2, cuando el parámetro hwnd es inválido
-1, cuando la función estaba todavía ocupada cuando se la llama

Cuando todo va bien retorna la longitud del nombre copiado en FileName

Delphin Software
Mail: delphinsoft@gmx.de
Phone: +49 0725118671
Fax: +49 07251989773

Traducción libre por José Rubí

Download dscbtshl.zip  



Trucos Trucos

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com