The Wayback Machine - https://web.archive.org/web/20100922210620/http://www.codeguru.com:80/cpp/misc/misc/keyboard/

    Keyboard

    Keystroke monitoring

    In this article we will consider the methods of hooking keyboard data in the kernel mode. The described approaches can be used for solving the tasks of keystroke analysis, blocking and also redefining some combinations.

    [Updated] A Personal Virtual Keyboard for (nearly) Every Keyboard

    Generate multiple (on-screen)Virtual Keyboards to include into your portable application via a DLL, so that your users can take theirlanguage/keyboard with them on their travels, even if the PC they use does not have their home keyboard installed.

    Raw Input Device informations

    Discover how to retrieve information on your computer's devices including the mouse, keyboard, and other peripherals attached to the system.

    Programmatically controlling the state of the NumLock, CapsLock, ScrollLock keys

    Programmatically controlling the state of the NumLock, CapsLock, ScrollLock keys

    Disabling the Alt-Tab key combination

    Disabling the Alt-Tab key combination