La Web del Programador: Comunidad de Programadores
 
    Pregunta:  43447 - CAPTURA DE EVENTOS DE OTRA APLICACIÓN CON UN MÓDULO DE CLASE
Autor:  Sigerist Rodríguez
Hola a tosdos.

Estoy trabajando en una aplicación de VB que manipula a AutoCAD, lla aplicación utiliza una variable tipo acadAplicaciton para detectar AutoCAD y usarlo. Sin embargo me gustaría detectar cuando ocurren ciertos eventos en AutoCAD, como por ejemplo la pérdida del foco para ejecutar ciertas cosa en la aplicación. Tengo entendido que con un módulo de clases y la declaración WithEvents se puede hacer, pero no se exactamente como. Les agradecería cualquier ayuda.
Saludos
Greco.

  Respuesta:  Olivia Ruiz
define gob_acad como AcadAplication
y cuando quieras que el foco este en autocad pon la siguiente instruccion

AppActivate gob_acad.Caption

  Respuesta:  SuNcO
Uhm.. eso que pides no es tan simple como te dijeron..

Para hacer eso debes subclasificar el Programa que quieres captar los mensajes.. es un poco complejo en VB, es de las cosas mas dificiles.

Por ejemplo aqui hay un codigo para subclasificar formularios, botones o cualquier cosa que tenga propiedad Hwnd :

http://www.elguille.info/vb/avanzado/subclass_form.htm

Se puede modificar para que subclasifique con el Hwnd de la Aplicacion que requieres (para sacar el Hwnd de una Aplicacion es otra cosa.. puedes buscar en google.com por la Api EnumWindows)