If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState.
Проверка на младший бит (сокращённая запись
if ((GetAsyncKeyState(VK_F1) & 1) != 0)
. Он означает: с предыдущего вызова GetAsyncKeyState клавиша хоть раз нажималась. С одной стороны, этот бит нерекомендуемый (работает, когда нет других программ, вызывающих GetAsyncKeyState). С другой, возможно, младший бит GetAsyncKeyState() в современной реализации Windows работает именно так, как надо (если программа неактивна, GAKS возвращает 0).
GAKS обычно используется в играх и прочих динамичных программах; в рабочем ПО используют оконные сообщения.