¿Como hacer una ventana siempre visible?

Hay que usar el api SetWindowPos de la siguente manera:


Para hacer la ventan siempre visible


SetWindowPos(hwnd, HWND_TOPMOST, 0,  0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE |WP_NOSIZE);


Para devolverle el comportamiento normal


SetWindowPos(hwnd, HWND_NOTOPMOST, 0,  0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE| WP_NOSIZE);


Si estas trabajando en MFC la función SetWindowPos sera miembro de la clase
que representa tu ventana.


La técnica aquí descrita tambien se aplica a Visual Basic (anterior a VB.Net), solo habra que llamar a las mismas funciones mediante «declares», como se llama habitualmente a las API desde Visual Basic. Sin quereís ver el código completo para poner una ventana siempre visible sobre todas las otras en Visual Basic podeís consultar este artículo de la KB: How To Create a Form That Always Stays on Top.

3 comentarios sobre “¿Como hacer una ventana siempre visible?”

  1. Dada la demanda popular, he editado el post para añadir un link a una artículo de la KB que contienen el código para hacer una ventana siempre visible que se coloque encima de todas las demás en Visual Basic ‘Clásico’, version 6 y anteriores.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *