@hsuper

Что значит эта строчка?

Что значит эта строка? => if(GetAsyncKeyState(VK_F1) & 1)

А именно почему там & 1 ?
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
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 обычно используется в играх и прочих динамичных программах; в рабочем ПО используют оконные сообщения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы