So langsam verstehe ich endlich die Frage (die Signatur hilft).
Von Windows kommen "virtuelle" Tastencodes. Das bedeutet das die Tastencodes sprachunabhaengig sind und die gedrueckte Taste bedeuten.
Es gibt also kein 'a' sondern nur ein 'A', da es ja keine Taste fuer ein kleines A gibt.
WM_KEYDOWN uebermittelt so einen Tastencode. Wenn dein Programm intern TranslateMessages aufruft, so werden die WM_KEYDOWNs und WM_KEYUPs interpretiert und WM_CHAR generiert. Dort ist dann ein Buchstabe vorhanden.
Die virtuellen Tastencodes sind in Windows.pas mit dem Praefix VK_ als Konstanten vorhanden. Fuer die einfachen Tasten wie A, B, C etc gibt es keine Konstanten, da der Wert dem
ASCII-Zeichen entspricht.
Ein (nicht vorhandenes) VK_A hat also den Wert Ord('A').
if Code = VK_UP then
fragt also ob die Pfeil-nach-oben-Taste gedrueckt wurde.
Deine urspruengliche Frage wollte den Namen der Taste wissen. Das ist aber etwas ganz anderes.
Was du wissen wolltest ist der Wert der Taste.