📄 如何计算鼠标的移动速度.txt
字号:
准 确 的 办 法 是 利 用 API函 数 SetWindowsHookEx安 装 一 个 WH_MOUSE钩 子 。 这 样 系 统 的 所 有 WM_MOUSEMOVE消 息 (可 以 来 自 不 同 的 窗 口 )都 会 传 递 给 钩 子 函 数 。 每 个 WM_MOUSEMOVE消 息 的 参 数 就 是 鼠 标 位 置 (相 对 于 窗 口 的 客 户 区 , 可 以 用 ClientToScreen函 数 转 换 为 屏 幕 坐 标 ), 记 下 连 续 两 次 鼠 标 的 位 置 和 时 间 。 在 此 过 程 中 无 需 使 用 GetCursorPos函 数 。 使 用 GetDeviceCaps的 LOGPIXELSX和 LOGPIXELSY获 得 一 个 像 素 对 应 的 Twip数 (567twips = 1 cm)。
还 有 一 种 方 法 , 需 要 使 用 GetCursorPos函 数 。 作 法 是 在 你 的 Form上 放 置 Timer控 件 , 定 时 间 隔 尽 可 能 小 , 比 如 55ms(VB的 Timer只 能 精 确 到 55ms, 如 果 要 提 高 精 度 可 以 参 考 “记时精度更高的Timer控件”)。 在 连 续 两 次 Timer事 件 中 使 用 GetCursorPos函 数 得 到 鼠 标 的 屏 幕 位 置 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -