鱼C论坛

 找回密码
 立即注册
查看: 2291|回复: 0

[API档案] MOUSEKEYS 结构

[复制链接]
发表于 2016-7-23 04:42:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 Diu 翻译,小甲鱼校对。

MOUSEKEYS 结构

MOUSEKEYS 结构包含有关 MouseKeys 辅助功能的信息。当 MouseKeys 功能处于活动状态时,用户可以使用数字键盘控制鼠标指针,单击,双击,拖放。通过按下 NUMLOCK 键(数字锁定键),用户可以通过数字键盘在鼠标控制模式和正常操作之间切换。


结构原型:

  1. typedef struct _MOUSEKEYS {
  2.   DWORD cbSize;
  3.   DWORD dwFlags;
  4.   DWORD iMaxSpeed;
  5.   DWORD iTimeToMaxSpeed;
  6.   DWORD iCtrlSpeed;
  7.   DWORD dwReserved1;
  8.   DWORD dwReserved2;
  9. } MOUSEKEYS, *LPMOUSEKEYS;
复制代码


成员解析:

成员 含义
cbSize 指定该结构的大小,以字节为单位
dwFlags 指定一组位标志,指定 FilterKeys 功能的属性

以下是可供使用的位标志值及其定义:
含义
MKF_AVAILABLE
(0x00000002)
如果设置了该标志,表示 MouseKeys 功能可用
MKF_CONFIRMHOTKEY
(0x00000008)
Windows 95/98,Windows 2000:当使用热键激活 MouseKeys 功能时,将出现一个确认对话框
MKF_HOTKEYACTIVE
(0x00000004)
如果设置了该标志,用户可以使用热键打开和关闭 MouseKeys 功能,即 LEFT ALT + LEFT SHIFT + NUM LOCK
MKF_HOTKEYSOUND
(0x00000010)
如果设置了该标志,则当用户使用热键打开或关闭 MouseKeys 功能时,系统将发出警报声
MKF_INDICATOR
(0x00000020)
Windows 95/98,Windows 2000:当 MouseKeys 功能打开时,将显示可视指示符
MKF_LEFTBUTTONDOWN
(0x01000000)
Windows 95/98,Windows 2000:左键处于“关闭”状态
MKF_LEFTBUTTONSEL
(0x10000000)
Windows 95/98,Windows 2000:用户已选择鼠标按钮操作的左键
MKF_MODIFIERS
(0x00000040)
Windows 95/98,Windows 2000:CTRL 键通过 iCtrlSpeed 成员指定的值增加光标速度,SHIFT 键使光标在移动单个像素后短暂延迟,从而允许精确定位光标。如果未指定该值,则在用户使用箭头键移动鼠标光标时,将忽略 CTRL 和 SHIFT 键
MKF_MOUSEKEYSON
(0x00000001)
如果设置了该标志,则 MouseKeys功能将开启
MKF_MOUSEMODE
(0x80000000)
Windows 95/98,Windows 2000:系统正在处理数字键盘输入作为鼠标命令
MKF_REPLACENUMBERS
(0x00000080)
Windows 95/98,Windows 2000:当 NUM LOCK 键打开时,数字键盘将移动鼠标。如果未指定该标志,则当 NUM LOCK 键关闭时,数字键盘将移动鼠标光标
MKF_RIGHTBUTTONDOWN
(0x02000000)
Windows 95/98,Windows 2000:右键处于“关闭”状态
MKF_RIGHTBUTTONSEL
(0x20000000)
Windows 95/98,Windows 2000:用户已为鼠标按钮操作选择了右键
iMaxSpeed1. 指定按住箭头键时鼠标光标达到的最大速度

2. Windows 95/98:不做范围检查

3. Windows NT/2000:10到360为有效值
iTimeToMaxSpeed 指定按住箭头键时鼠标光标达到最大速度所需的时间长度,以毫秒为单位,有效值为 1000 到 5000
iCtrlSpeed 指定在用户按住 CTRL 键的同时使用箭头键移动光标时应用于鼠标光标速度的乘数。如果没有设置 MKF_MODIFIERS,则忽略此值
dwReserved1 此成员保留以供将来使用,它必须设置为零
dwReserved2 此成员保留以供将来使用,它必须设置为零


备注:

1. 当调用具有设置为 SPI_GETMOUSEKEYS 或 SPI_SETMOUSEKEYS 值的 uiAction 参数的 SystemParametersInfo 函数时,应用程序使用 MOUSEKEYS 结构。当使用 SPI_GETMOUSEKEYS 时,应用程序必须指定 MOUSEKEYS 结构的 cbSize 成员;SystemParametersInfo 函数填充剩余的成员。在使用 SPI_SETMOUSEKEYS 值时,应用程序必须指定所有结构成员。

2. 你如果使用 SPI_SETMOUSEKEYS 值调用 SystemParametersInfo 函数,以下标志将被忽略:

  • MKF_LEFTBUTTONDOWN
  • MKF_LEFTBUTTONSEL
  • MKF_MOUSEMODE
  • MKF_RIGHTBUTTONDOWN
  • MKF_RIGHTBUTTONSEL


需求:

Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Winuser.h (包含于 Windows.h)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 00:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表