Windows Hooks

In the Microsoft® Windows operating system, a hook is a mechanism by which a function can intercept events (messages, mouse actions, keystrokes) before they reach an application. The function can act on events and, in some cases, modify or discard them. Functions that receive events are called filter functions and are classified according to the type of event they intercept.

For example, a filter function might want to receive all keyboard or mouse events. For Windows to call a filter function, the filter function must be installed, that is attached to a Windows hook (for example, to a keyboard hook). Attaching one or more filter functions to a hook is known as setting a hook. If a hook has more than one filter function attached, Windows maintains a chain of filter functions. The most recently installed function is at the beginning of the chain, and the least recently installed function is at the end.

To install a hook, we need to call SetWindowsHookEx.
To uninstall a hook, we need to call UnhookWindowsHookEx

References:
Windows Hooks -
http://www.macadamian.com/index.php?option=com_techarticle&task=view&id=10

Windows Hooks - http://www.macadamian.com/index.php?option=com_techarticle&task=view&id=10