Skip to content

v0.9.2 — 修传递模式放下没反应

Choose a tag to compare

@ExpertKT ExpertKT released this 15 Sep 16:30
· 20 commits to main since this release

v0.9.2

修掉传递模式"放下没反应"

现象一直是同一个:按空格之后鼠标从起点移到终点,然后什么都没发生,换任何参数都一样

根因:SetCursorPos 只把光标"瞬移"过去,不产生鼠标移动消息。而轮盘的拖出是靠「按下 + 鼠标移动」启动的(OLE 拖放 DoDragDrop 的启动条件)—— 收不到移动消息,DoDragDrop 永远不会被调用。

修法:移动光标时补发一个 MOUSEEVENTF_MOVE

这个修复曾经写对过一次(当时反馈"重新截一张图就能用了"),但后来做代码回退时被一起退掉了 —— 于是之后无论怎么改坐标、步数、时序、DPI,都必然得到同一个失败现象。现在这段加了显眼注释防止再丢。

顺带修的

  • 起点可能落在屏幕外:轮盘贴屏幕底部时,缩略图中心会超出虚拟屏幕(实测 Y=1199 而屏幕高 1152),SetCursorPos 把光标夹到边缘,按下就落在空白处。现在取缩略图矩形与屏幕的交集中心
  • 图取不到内容时明确提示,不再默默无反应。
  • 传递模式加了诊断日志(是否被调用 / 轮盘项数 / 起点坐标 / 实际光标位置)。

下载

  • SnapWheel-v0.9.2-full.zip — 完整版(含万能键)
  • SnapWheel-v0.2.22-nokey.zip — 无万能键版