Schau mal bitte in das Projekt rein, ich habe total normale Delphi Methoden veranschaulicht und auch ein SHIFT+NumPadX lässt sich damit auslesen, egal ob NumLock on/off.
Ich weiß ja nun nicht was dir angezeigt wird.
Das folgende wird mir angezeigt:
Angegeben habe ich jeweils in der ersten Zeile, die Taste die ich drücke (oder loslasse) und in der zweiten Zeile die 4 Werte die angezeigt werden.
NumPad2 Down
2 98 Leer 50
NumPad2 Up
2 98 98 50
Shift Down
2 16 98 50
NumPad1 Down
2 35 16 50
NumPad1 Up
2 16 35 50
Shift Up
2 16 16 50
Bei NumPad1 Down kommt im FormKeyDown genau das, was Probleme macht, nämlich die Information Key=35 und Shift-Taste gedrückt. Also Shift + VK_End,
Tatsächlich gedrückt war aber Shift + Numpad1.
Sehr schön ist auch zu sehen, das Shift + Numpad1 kein FormKeyPress auslöst.
Um auf die Tasten bzw. Tastenkombinationen zu reagieren bleibt also nur FormKeyDown (oder FormKeyUp) - ich bevorzuge FormShortcut.
Und da kommt bei Shift + NumpadX etwas anderes als tatsächlich gedrückt wurde.
Was ich jetzt nicht so richtig verstehe ist Dein Kommentar "und auch ein SHIFT+NumPadX lässt sich damit auslesen", denn genau das ist nicht der Fall - jedenfalls nicht bei mir.