title: How to intercept all the keyboard events and prevent losing focus in a WinForms application?
body: <p>A friend of mine is blind and I've got an idea of developing a program that would let him use a PC with the help of a blind typing method and audial feedback. The experience would be much richer (making use of more keys for particular functions) and flawless (like preventing occasional focus loss) if my application could forcibly take total control over the whole keyboard input as soon as it is started (I'd put it in start-up for him). I am a WinForms C# .NET developer so I'd like to implement this in an application using this particular framework and language (don't mind wrapped WinAPI calls though).</p>
  <p>PS: I don't mind the system keeping control over the Ctrl+Alt+Del combination, but I'd like to take control over all the other keys and combinations, including the Windows logo and standard application launcher buttons.</p>