Ach mist, stimmt ja, dort sind ja wieder nur die VirtuaKeyCodes drin.
GetKeyState und
GetKeyboardState sind aber die einzigen Funktionen, wo man auch nachträglich nochmal diesen Teile der Message kommt, wo in der
VCL vorher der Parameter nicht weitergereicht wurde, jedenfalls so weit ich weiß.
Mouse&Keyboard-Messages kommen über PostMessage rein, dann könntest du auch noch
Application.OnMessage TApplicationEvents.OnMessage versuchen. (SendMessage kommt dort nicht vorbei und WM_TIMER wird erst im GetMessage generiert)