
Сообщение от
Titus
Это все, конечно, интересно, но на вопрос, различает ли оно точно Enter основной и дополнительной клавиатуры, ты не ответил)
Скан-код - это индивидуальный номер каждой клавиши.
Можно сделать так:
Код:
case WM_SYSKEYDOWN:
case WM_KEYDOWN:
{
int uScan = HIWORD( lParam );
uScan &= 0x1FF;
И затем добавить вывод значения переменной uScan. Потом понажимать на клавиши и всё станет ясно.

Сообщение от
Titus
Ксати, интересует так же вопрос, как при активном окне отключить влияние системных клавиш (Alt, CapsLock, Num Lock, Scroll Lock, F10) на лампочки, режимы ввода и системные функции.
Есть разница.
Для Alt и F10 достаточно не передавать управление из WM_SYSKEYDOWN в DefWindowProc.
Остальное нереально сложно. Нужно устанавливать глобальный хук клавиатуры, а это влечёт гору проблем. Кроме того, многие антивирусы распознают установку глобального хука клавиатуры, как вредоносную активность.

Сообщение от
Titus
как самому загорать и потухать лампочки на клаве.
Нужно симулировать нажатие клавиш:
Код:
void SetScrollLock( bool bState )
{
BYTE keyState[256];
GetKeyboardState((LPBYTE)&keyState);
if( (bState && !(keyState[VK_SCROLL] & 1)) ||
( !bState && (keyState[VK_SCROLL] & 1)) )
{
// Simulate a key press
keybd_event( VK_SCROLL,
0,
KEYEVENTF_EXTENDEDKEY | 0,
0 );
// Simulate a key release
keybd_event( VK_SCROLL,
0,
KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
0);
}
}