Как определить, какой из двух enter'ов нажат(num pad или основной)?
Обработайте сообщение WM_KEYDOWN. В 24 бите lParam будет разница - 0 для обычного Enter, 1 для num pad.
Прийдется захватить сырую клавиатуру Raw Input (Windows) . В виртуальной клавиатуре, которая пересылает события приложению, нет различий между энтерами.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей