?? 如何計算鼠標的移動速度.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 + -