Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   ¿existe un evento OnScrollBoxPositionScrollBarChange? (https://www.clubdelphi.com/foros/showthread.php?t=86742)

escafandra 28-09-2014 19:44:50

Cita:

Empezado por aguml (Mensaje 482244)
cuando dices hacer subclasing de ventanas windows ¿Te refieres a hacer un inline a un proceso externo? ¿Algo asi como un hook pero en vez de a una api hacerlo sobre el mismo codigo del proceso?

Puede ser en nuestro proceso o en otro, mediante inyección de código, una dll por ejemplo, en otro proceso y desde él hacer subclassing en la ventana que nos interese. Cambias la función de tratamiento de la ventana en cuestión por la tuya obligando a responder a los mensajes como tu decidas. esto se hace con la API SetWindowLong con nIndex = GWL_WNDPROC. deberás guardar el puntero de la función original para usarla si es preciso y para devolver a su estado original la ventana en cuestión. esto se hace con GetWindowLong con nIndex = GWL_WNDPROC. En el foro tienes algún ejemplo como este (en un proceso externo) o este otro (en nuestro proceso).

En realidad no se le puede llamar hook en sentido estricto, aunque se podría decir que es un hook al WindProc de una ventana. Sobre hooks también tienes información en el foro y en DA.


Saludos.


La franja horaria es GMT +2. Ahora son las 04:50:28.

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