; By Tmz #NoEnv #InstallMouseHook #InstallKeybdHook #KeyHistory 499 SetBatchLines -1 CoordMode, Mouse, Screen ;全局获取模式 cursor_dbclick_gaptime := 100 ;鼠标两次点击事件间隔时间小于这个时间判断为双击 cursor_drag_gaptime := 300 ;鼠标按下到弹起时间大于这个时间判断为拖动 cursor_over_dist := 30 ;鼠标横扫的像素大于等于这个值时认为是拖动 LB_down_cursor := 0 ;按下时鼠标的形状 LB_down_posx := 0 ~LButton:: LB_down_cursor := A_Cursor MouseGetPos, LB_down_posx if(A_PriorHotkey="~LButton up" && A_TimeSincePriorHotkey<=cursor_dbclick_gaptime && A_Cursor="IBeam" ) { ; 判断鼠标双击事件 tooltip dbclick } return ~LButton up:: ; tooltip % A_PriorHotkey "," A_TimeSincePriorHotkey MouseGetPos,current_posx if(A_PriorHotkey="~LButton" && A_TimeSincePriorHotkey>=cursor_drag_gaptime ) { ; 判断鼠标拖动事件 if((LB_down_cursor="IBeam" && A_Cursor="IBeam")&& abs(current_posx-LB_down_posx)> cursor_over_dist) { ; 限制鼠标形状的双击 tooltip dragging } return } return ; 最后关于性能和是否影响系统点击的问题,使用~是通过钩子函数来实现事件的传递,比如点击事件可能被多个程序hook,我们只不过在上面再加了一个hook,我们的hook会立即返回不会打断整个hook链,理论上来说多一个hook就多一些时间,但是这个影响微乎其微,除非直接返回1直接中断当前事件传递,才会影响系统的点击事件。实测在fps游戏中也没任何影响。
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)