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
如果设置了此标志,用户可以通过按 SHIFT 键五次来打开和关闭 StickyKeys 功能。
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 密钥已锁定。

注解

应用程序在调用 SystemParametersInfo 函数时使用 STICKYKEYS 结构,并将 uiAction 参数设置为 SPI_GETSTICKYKEYSSPI_SETSTICKYKEYS。 使用 SPI_GETSTICKYKEYS 时,必须指定 STICKYKEYS 结构的 cbSize 成员;SystemParametersInfo 函数填充剩余成员。 使用 SPI_SETSTICKYKEYS 值时,必须指定所有结构成员。

如果使用 SPI_SETSTICKYKEYS 值调用 SystemParametersInfo,则会忽略以下标志:

  • 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