Как отловить нажатие двух клавиш WinApi?
код в проверке выполняется при нажатии совершенно любой клавиши, а не по "A" и "W". Как быть?
Просто прочитайте описание WM_KEYDOWN. wParam -- это не битовая маска, это код клавиши, не надо писать if(keyid & 0x41), надо писать if(keyid == 0x41).
Там же два события: WM_KEYDOWN и WM_KEYUP.
Вам нужно хранить два флага: is_A_pressed, is_B_pressed.void handleKeyDown(keyid)
{
if(keyid & 0x41) // A 
{
  is_A_pressed = true;
}

if(keyid & 0x57) // W
{
 is_W_pressed = true;
}

if (is_A_pressed && is_W_pressed) {
   // обе клавиши нажаты
}
}
такой же код в обработчике WM_KEYUP, только там сбрасываем флаги.