[DllImport("user32.dll", CharSet=CharSet.Auto, ExactSpelling=true,CallingConvention=CallingConven tion.Winapi)]
public static extern short GetKeyState(int keyCode);


bool isCapsLock = (((ushort) GetKeyState(0x14 /*VK_CAPITAL*/)) & 0xffff) != 0;
bool isNumLock = (((ushort) GetKeyState(0x90 /*VK_NUMLOCK*/)) & 0xffff) != 0;