如何计算鼠标的移动速度.txt
来自「VB技巧问答10000例,是一个教程」· 文本 代码 · 共 4 行
TXT
4 行
准 确 的 办 法 是 利 用 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 + =
减小字号Ctrl + -
显示快捷键?