Wenn es unbedingt GetAsyncKeyState() sein soll, sollte man ergänzend evtl. noch sagen, dass hier noch ein 2. Thread + MsgWaitForMultipleObjects() bzw. einem einfachen Event oder meinetwegen auch eine gloable/statische Variable sinnvoll wäre, um das Polling zu vermeiden.

Aber die von BlackBerry genannte Methode mit RegisterHotKey() ist hier wohl die beste Lösung.