v0.9.2 — 修传递模式放下没反应
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— 无万能键版