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.
Esto está muy bien pero como se hace VB6??
Hola la verdad es que si esta bien pero como lo hago en visual basic 6.0
mi correo es sadness_now@hotmail.com
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.