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 |