http://msdn2.microsoft.com/en-us/library/ms646293.aspx
Ich sehe das so:
Result = 0 --> nicht gedrückt, seit letzten Aufruf der Funktion
High(Result) <> 0 --> die Taste wird momentan noch gedrückt
Low(Result) <> 0 --> die Taste wird momentan nicht gedrückt, wurde aber seit dem letzten Aufruf der Funktion gedrückt.
Mit der High/Low-Angelegeneheit bin ich mir nicht ganz sicher.
edit:
Herzlich Willkommen im Forum.
Die If-Abfrage mit "GetAsyncKeyState(..)<>0" dient einzig und allein um zu prüfen, ob die Taste seit dem letzten Aufruf der Funktion GetAsyncKeyState gedrückt wurde. Es ist in Spielen, z.B. egal, ob die Taste jetzt oder irgendwann anders gerückt wurde. Es zählt nur, dass sie gedrückt wurde.