#c# #.net #capslock
#c# #.net #capslock
Вопрос:
Я пытаюсь проверить, включена ли БЛОКИРОВКА заглавными буквами. Я видел следующую строку, и мне было интересно, зачем нужен AND с 0xFFFF, поскольку И с 0xFFFF вернет точно такое же число. Я здесь прочитал, что для того, чтобы проверить, включен ли CAPS LOCK, вам нужно проверить бит младшего порядка, следовательно, он должен быть И с 1. Итак, почему 0xFFFF?
bool CapsLock = (((ushort)GetKeyState(0x14)) amp; 0xffff) != 0;
Спасибо!
Комментарии:
1. Если
GetKeyState
это на самом делеGetKeyState
, то0xffff
совершенно бессмысленно. Если это пользовательская оболочка, возвращающаяint
, у нее может быть цель.
Ответ №1:
Я согласен с GSerg в том, что его не нужно использовать. Но обычно побитовый оператор and используется для получения части значения.
например:
0x11ffff
0xffff
--------- AND
0xffff
Вы можете использовать этот побитовый калькулятор, чтобы понять, как это работает.