Programación de gancho C++
Esto es un poco difícil y lleva tiempo hacerlo. No tengo tiempo para hacerlo. Déjame darte información:
Captura todos los mensajes de cierre del proceso. y use SetWindowsHookEx para conectarse al enlace global Información sobre la función SetWindowsHookEx
SetWindowsHookEx(
idHook: Integer; {hook type}
lpfn: TFNHookProc; {puntero de función}
hmod: HINST; {Manejador del módulo (EXE, DLL) que contiene la función de enlace; generalmente HInstance si es el hilo actual, puede ser 0}
dwThreadId: DWORD {Subproceso asociado; puede usar GetCurrentThreadId para obtener el subproceso actual; 0 indica un enlace a nivel del sistema}
): HHOOK;
//Opciones de idHook de tipo de gancho:
WH_MSGFILTER = -1; {Nivel de hilo; Intercepta mensajes entre usuarios y controles}
WH_JOURNALRECORD = 0; nivel; registra todos los mensajes de entrada enviados por la cola de mensajes desde la cola de mensajes y borra los mensajes de la cola. Ocurre; se puede utilizar para la grabación de macros}
WH_JOURNALLPLAYBACK = 1; mensajes registrados por WH_JOURNALRECORD, es decir, reenviar estos mensajes a la cola de mensajes}
WH_KEYBOARD = 2; {Nivel de sistema o nivel de hilo interceptar mensajes de teclado}
WH_GETMESSAGE = 3; ; {Nivel de sistema o nivel de hilo; intercepta mensajes enviados desde la cola de mensajes}
WH_CALLWNDPROC = 4; {Nivel de sistema o nivel de hilo intercepta mensajes enviados a la ventana de destino, ocurre cuando se llama a SendMessage} p>
WH_CBT = 5; {Nivel de sistema o nivel de hilo; intercepta mensajes básicos del sistema, tales como: creación de ventanas, activación, cierre, maximización, minimización, movimiento, etc.}
WH_SYSMSGFILTER = 6 ; {Nivel del sistema; intercepta mensajes de todo el sistema de interacción del usuario con los controles}
WH_MOUSE = 7; {Nivel del sistema o nivel de hilo intercepta mensajes del mouse}
WH_HARDWARE = 8; ; {Nivel de sistema o nivel de subproceso; interceptar mensajes de hardware no estándar (no mouse, teclado)}
WH_DEBUG = 9; {Nivel de sistema o nivel de subproceso llamado antes de llamar a otros ganchos; ganchos de depuración}
WH_SHELL = 10; {Nivel de sistema o nivel de subproceso; intercepta mensajes enviados a la aplicación de shell}
p>WH_FOREGROUNDIDLE = 11 {nivel de sistema o nivel de subproceso llamado; cuando el hilo de primer plano del programa está inactivo}
WH_CALLWNDPROCRET = 12; {nivel del sistema o nivel de hilo; intercepta el mensaje de que la ventana de destino ha sido procesada, ocurre después de una llamada a SendMessage}
Aquí hay un programa de muestra:
/s/blog_56dee71a010007h1.html