wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 10 -> Версия для печати

Вопрос и Ответ 10

Вопрос и Ответ 10

Вопросы и Ответы


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

      ............


...предыдущая страница следующая...
оглавление

Rambler's Top100