HHOOK keyboardHook ; LRESULT CALLBACK KeyboardProc ( int nCode , WPARAM wParam , LPARAM lParam ) { if ( wParam == WM_KEYDOWN && nCode == HC_ACTION ) { PKBDLLHOOKSTRUCT key = ( PKBDLLHOOKSTRUCT ) lParam ; printf ( "key: %i\n" , key -> vkCode ) ; } return CallNextHookEx ( keyboardHook , nCode , wParam , lParam ) ; } int main ( ) { keyboardHook = SetWindowsHookEx ( WH_KEYBOARD_LL , KeyboardProc , NULL , NULL ) ; return 0 ; }