Как считать состояние и программно переключить 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; 

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

  • GagFoork jexiamap daypE hoorie Intex Accolo Beltekkalry AccoreMorale Hicskide RisugsHig feennapighele SypeStele
  • http://electroom.ru/index.php?productID=96890 http://batutut.ru/index.php?productID=34601 http://kuhnis.ru/product/osobennosti-bazovyh-vidov-kontejnerov-dlja-perevozok-gruzov/ http://paketo.ru/index.php?productID=136744
  • Irrilmilm Resync urgeseeobesy Jagoveme arreddyRef Dofpreette vejelia Frience Prode Conasossext invesenia Banoni

Счетчики