You wanna use RawInput.
Heres a C# example:
http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard

And Here is a C++ example:
https://msdn.microsoft.com/de-de/library/windows/desktop/ms645546(v=vs.85).aspx