Обнаружение нажатия клавиш

В WIN 32 API есть функция GetKeyState, которая умеет определять нажата клавиша или нет. Вот её описание:

WINUSERAPI SHORT WINAPI
GetKeyState
(
int nVirtKey
);

А вот её применение. Это программа Win32 Console, которая определяет нажат NumLock или нет.

// GetKeyState.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{
if (GetKeyState(VK_NUMLOCK)==1)
cout << "NumLock ON" << endl;
else
cout << "NumLock OFF" << endl;
}

Как видите она использует виртуальные клавиши типа VK_. Если эта клавиша нажата, то вернется 1. Виртуальных клавиш много. То есть они описаны практически все.