Ich hatte doch geschrieben wo das Problem liegt. Deine Hookprozedur ist falsch. Der Tastaturcode wird dort gar nicht direkt übergeben...
Zitat:
wParam [in]
Type: WPARAM
The identifier of the keyboard message. This parameter can be one of the following messages: WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, or WM_SYSKEYUP.
lParam [in]
Type: LPARAM
A pointer to a KBDLLHOOKSTRUCT structure.