Структура STICKYKEYS (winuser.h)

Содержит сведения о функции специальных возможностей StickyKeys. Когда функция StickyKeys включена, пользователь может нажать клавишу-модификатор (SHIFT, CTRL или ALT), а затем другую последовательность, а не одновременно, чтобы ввести сдвинутые (измененные) символы и другие сочетания клавиш. При нажатии клавиши-модификатора после нажатия клавиши-модификатора пользователь нажимает клавишу, не соответствующую модификатору, или не нажимает кнопку мыши. Нажатие клавиши-модификатора дважды блокирует ее, пока пользователь не нажмет клавишу в третий раз.

Синтаксис

typedef struct tagSTICKYKEYS {
  UINT  cbSize;
  DWORD dwFlags;
} STICKYKEYS, *LPSTICKYKEYS;

Члены

cbSize

Тип: DWORD

Задает размер этой структуры (в байтах).

dwFlags

Тип: DWORD

Набор битовых флагов, определяющих свойства функции StickyKeys. Определены следующие значения битового флага:

Значение Значение
SKF_AUDIBLEFEEDBACK
0x00000040
Если этот флаг установлен, система воспроизводит звук, когда пользователь блокирует или отпускает клавиши-модификаторы с помощью функции StickyKeys.
SKF_AVAILABLE
0x00000002
Если этот флаг установлен, доступна функция StickyKeys.
SKF_CONFIRMHOTKEY
0x00000008
Windows 95/98, Windows 2000: Диалоговое окно подтверждения появляется при активации функции StickyKeys с помощью горячей клавиши.
SKF_HOTKEYACTIVE
0x00000004
Если этот флаг установлен, пользователь может включить и отключить функцию StickyKeys, нажав клавишу SHIFT пять раз.
SKF_HOTKEYSOUND
0x00000010
Если этот флаг установлен, система воспроизводит звук сирены, когда пользователь включает или отключает функцию StickyKeys с помощью горячей клавиши.
SKF_INDICATOR
0x00000020
Windows 95/98, Windows 2000: Визуальный индикатор должен отображаться, когда включена функция StickyKeys.
SKF_STICKYKEYSON
0x00000001
Если этот флаг установлен, функция StickyKeys включена.
SKF_TRISTATE
0x00000080
Если этот флаг установлен, дважды нажатие клавиши-модификатора в строке блокирует клавишу до тех пор, пока пользователь не нажмет ее в третий раз.
SKF_TWOKEYSOFF
0x00000100
Если этот флаг установлен, освобождение клавиши-модификатора, которая была нажата в сочетании с любой другой клавишей, отключает функцию StickyKeys.
SKF_LALTLATCHED
0x10000000
Windows 98, Windows 2000: Левая клавиша ALT защелкнула.
SKF_LCTLLATCHED
0x04000000
Windows 98, Windows 2000: Левая клавиша CTRL зажата.
SKF_LSHIFTLATCHED
0x01000000
Windows 98, Windows 2000: Левая клавиша SHIFT защелкнута.
SKF_RALTLATCHED
0x20000000
Windows 98, Windows 2000: Правая клавиша ALT защелкнула.
SKF_RCTLLATCHED
0x08000000
Windows 98, Windows 2000: Правая клавиша CTRL защелкнула.
SKF_RSHIFTLATCHED
0x02000000
Windows 98, Windows 2000: Правая клавиша SHIFT защелкнута.
SKF_LALTLOCKED
0x00100000
Windows 98, Windows 2000: Левая клавиша ALT заблокирована.
SKF_LCTLLOCKED
0x00040000
Windows 98, Windows 2000: Левая клавиша CTRL заблокирована.
SKF_LSHIFTLOCKED
0x00010000
Windows 98, Windows 2000: Левая клавиша SHIFT заблокирована.
SKF_RALTLOCKED
0x00200000
Windows 98, Windows 2000: Правая клавиша ALT заблокирована.
SKF_RCTLLOCKED
0x00080000
Windows 98, Windows 2000: Правая клавиша CTRL заблокирована.
SKF_RSHIFTLOCKED
0x00020000
Windows 98, Windows 2000: Правая клавиша SHIFT заблокирована.
SKF_LWINLATCHED
0x40000000
Windows 98, Windows 2000: Левая клавиша Windows защелкнула.
SKF_RWINLATCHED
0x80000000
Windows 98, Windows 2000: Правая клавиша Windows защелкнула.
SKF_LWINLOCKED
0x00400000
Windows 98, Windows 2000: Левая клавиша Windows заблокирована.
SKF_RWINLOCKED
0x00800000
Windows 98, Windows 2000: Правая клавиша Windows заблокирована.

Комментарии

Приложение использует структуру STICKYKEYS при вызове функции SystemParametersInfo с параметром uiAction , который имеет значение SPI_GETSTICKYKEYS или SPI_SETSTICKYKEYS. При использовании SPI_GETSTICKYKEYS необходимо указать член cbSize структуры STICKYKEYS ; Функция SystemParametersInfo заполняет остальные элементы. При использовании значения SPI_SETSTICKYKEYS необходимо указать все элементы структуры.

При вызове SystemParametersInfo со значением SPI_SETSTICKYKEYS следующие флаги игнорируются:

  • SKF_LALTLATCHED
  • SKF_LCTLLATCHED
  • SKF_LSHIFTLATCHED
  • SKF_RALTLATCHED
  • SKF_RCTLLATCHED
  • SKF_RSHIFTLATCHED
  • SKF_LALTLOCKED
  • SKF_LCTLLOCKED
  • SKF_LSHIFTLOCKED
  • SKF_RALTLOCKED
  • SKF_RCTLLOCKED
  • SKF_RSHIFTLOCKED

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winuser.h (включая Windows.h)

См. также раздел

Структуры специальных возможностей

SystemParametersInfo