Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Определить состояние CapsLock

Delphi , ОС и Железо , Клавиши

Определить состояние CapsLock


Озеро, тонет хакер:
- F1!!! F1!!! ... Тьфу-ты... Нelр!!! Нelр!!!


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if GetKeyState(VK_CAPITAL) and 1 = 0 then
    Form1.Caption := 'Caps lock не горит'
  else
    Form1.Caption := 'Caps lock горит';
end;

Простой и полезный код на Delphi!

Процедура Timer1Timer вызывается каждый раз, когда таймер, связанный с ней, срабатывает (в этом случае, предположительно, с регулярными интервалами). Процедура проверяет состояние клавиши Caps Lock с помощью функции GetKeyState, которая возвращает значение, указывающее, является ли клавиша нажатой или нет.

Если результат GetKeyState(VK_CAPITAL) равен 0 при битвом AND с 1 (то есть наименьшая значащая цифра установлена), то это означает, что Caps Lock не включен. В этом случае заголовок формы изменяется на 'Caps lock не горит' (что переводится как "Caps lock is not on" на английском языке).

Если результат GetKeyState(VK_CAPITAL) не равен 0 при битвом AND с 1, то это означает, что Caps Lock включен. В этом случае заголовок формы изменяется на 'Caps lock горит' (что переводится как "Caps lock is on" на английском языке).

Использование оператора bitwise AND (and) позволяет проверять только наименьшую значащую цифру результата, которая соответствует состоянию клавиши Caps Lock.

Пример implementation!

Альтернативное решение: Если вы хотите сделать код более читаемым или эффективным, можно использовать переменную типа Boolean, чтобы отслеживать состояние Caps Lock. Затем можно использовать оператор if-then с одиночной присваиванием вместо битового оператора. Однако, это реализация все еще довольно проста и легко понятна.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not GetKeyState(VK_CAPITAL) = 0 then
    Form1.Caption := 'Caps lock не горит'
  else
    Form1.Caption := 'Caps lock горит';
end;

Однако, это реализация все еще довольно проста и легко понятна.

В статье описывается программное решение, определяющее состояние CapsLock и изменяющее заголовок формы в зависимости от его состояния.


Комментарии и вопросы


:: 2011-07-06 20:54:48 :: re:Определить состояние CapsLock

пользователь: Jan.

Долго искал. А тут такой простой способ. Спасибо все работает!


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Клавиши ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 18:16:37/0.084877014160156/2