La Web del Programador: Comunidad de Programadores
 
    Pregunta:  29744 - COMO SACAR EL HWND DE LA VENTANA ACTIVA?
Autor:  Alex
Como puedo sacar el hwnd de la ventana que tiene el foco en un momento determinado??

Ah!!

y no me sirve la API GetActiveWindow porque solo actua a nivel de aplicacion y no a nivel de escritorio de windows.

GRACIAS!!!

  Respuesta:  Luis Machuca
Hola

En primer lugar, existe un procedimiento que es estándar desde VB 4.0, el problema es que en ciertos casos no funciona bien y en vez del hWnd del formulario te devuelve el del control que tenga el foco dentro de ese formulario.

La palabra clave "Me" ("Yo") permite que VB obligue a un formulario a hacer referencia a sí mismo. De esta manera el nombre Me actúa como el nombre de formulario de cualquier formulario mientras esté activo.

Por tanto, si sitúas el foco en tu formulario y pides la instrucción

Mi_hwnd = Me.hwnd:

Te debiera entregar el hwnd del formualrio.

Ojo, que la propiedad hwnd es una propiedad del tipo long así que para pasarla a una variable también tiene que ser de ese tipo.

Si no funciona, te entregará el hwnd del control que tenga el foco, como si hubieras puesto, por ejemplo:

Mi_hwnd = Me.combobox1.hwnd:

Espero esto ayude.
Suerte