Как считать состояние и программно переключить Caps Lock, Num Lock и Scroll Lock?

Для этого надо воспользоваться процедурами API:

procedure GetKeyboardState(var KeyState: TKeyboardState);
procedure SetKeyboardState(var KeyState: TKeyboardState);

которые возвращают и устанавливают, соответственно, состояния всех клавиш. Некоторые коды клавиш приведены ниже:

Клавиша Код Клавиша Код Клавиша Код
Caps Lock 020 Shift 016 Insert 045
NumLock 144 Contrl 017 Delete 046
Scroll Lock 145 Alt 018 Tab 009

Пример:

Меняем состояния клавиш Caps Lock, Num Lock и Scroll Lock на противоположное:
VAR KS: TKeyboardState; 
 begin
 
GetKeyboardState(KS);
 KS[020] := KS[020] XOR 1;
 KS[144] := KS[144] XOR 1;
 KS[145] := KS[145] XOR 1;
 SetKeyboardState(KS); 
 
end; 

Последние комментарии

  • http://new-rutor.org
  • Производство матрацев. Реализация текстильной продукции https://goo.gl/5WYADp - подушка детская купить оптом - любые объемы, - матрасы высочайшего качества, - самые выгодные цены https://goo.gl/5WYADp - матрацы оптом
  • Норвежский Ламинин от д-ра Эскеланда http://1541.ru в 4 раза Дешевле, чем американский Laminine LPGN. Skype evg7773 Viber +380976131437 Buy The Norwegian LAMININE are 4 times more affordable http://www.getyourboomback.com/#_l_2ps as Laminine by LPGN. Реклама в Интернете. Поисковая оптимизация....

Счетчики