Bueno, gracias por la ayuda ya lo analice bastante y me fije que la funcion getasynckeystate() verifica el estado de las teclas internamente y que por tal motivo es imposible que muestre el mensaje cuando una tecla se pulsa, cuando el bucle se inicia getasynckeystate verfica que ninguna tecla fue pulsada luego salta y pasa a la siguiente iteraccion y asi va hasta que se termine el bucle.