   Suppressing keypresses with DirectInput
  Is there a way to suppess keypress messages with DirectInput? That is, if DirectInput recieves a KeyDown message for a key, it should "swallow" it, not allowing it to reach any other apps. Currently, we're doing this with hooks, but it's not really working like we'd like.   
  I doubt it, doesn't DirectInput run on top of the windows keyboard stuff (But below the WM_CHAR, etc layer)?If you only want to block a certain application, you could make a proxy Direct Input DLL, and swallow the keypress there.   ;  As Evil Steve mentioned, DirectInput has turned into nothing more than a threaded wrapper around the windows keyboard messages.  If you want to suppress keystroke messages from reaching other apps, the only way I know how is to use a low level keyboard hook (WH_KEYBOARD_LL).  What's the problem you're having with your hook?   ;  Thanks for the answers! So it was as I suspected, looks like we're gonna have to look over our hook code.Evil Steve: The problem is that our hook code some time misses keypresses, and/or fails to suppress them. It's like 1 in a 100, but that's still unacceptably high.   