Sé que usando la función GetForegroundWindow
puedo obtener el manejador de ventana activo actual, pero ahora i want to detect when the active window (of any application) changes (become active)
. la primera solución que me viene a la mente esDetecta cuando la ventana de primer plano cambia
- almacenar el valor actual (identificador) devuelto por la función GetForegroundWindow.
- utilizando un componente de temporizador compruebe de nuevo el valor devuelto por GetForegroundWindow y compare con el valor anterior.
Me pregunto si existe una mejor manera de hacer esto tal vez usando un mensaje de Windows u otra cosa.
Recuerdo que había un truco para escuchar la cola de mensajes para una ventana en Windows 3.x, no estoy seguro de si ese truco aún funciona en Win32 – Johan
Espero que no estés tratando de asegurarte de que tu ventana esté siempre en la parte superior de cada otra ventana. http://blogs.msdn.com/b/oldnewthing/archive/2011/03/10/10138969.aspx –
@Jim no se preocupe, no estoy haciendo eso. – Salvador