Red de conocimiento informático - Aprendizaje de programación - Código fuente de Mfcmoushook

Código fuente de Mfcmoushook

Es necesario interceptar la función WM_LBUTTONDOWN del botón HWND.

Existen varias formas de conseguirlo.

Uno más simple:

Use SetWindowLong para subclasificar HWND, es decir, configure la función de procesamiento de mensajes de la ventana, luego determine si el mensaje está presionado y luego llame al mensaje anterior. función de procesamiento.

Pero cada proceso tiene su propio espacio 4G privado. Lo que quieres interceptar es el mensaje de la ventana del proceso remoto. Por lo tanto, no puede simplemente usar SetWindowLong directamente, porque los parámetros que pasa no tienen sentido para el proceso remoto.

Entonces, en el primer paso, debe escribir la implementación en una DLL y luego inyectar la DLL en el proceso remoto. (Tenga en cuenta que la función DLLMain de la DLL implementa SetWindowLong, etc.).

Este método es más eficiente que el método de enlace global. Y es fácil de escribir.