#SingleInstance Force 1:: 2:: 3:: %A_ThisHotKey%Key := New ClickAndLongClick() if (%A_ThisHotKey%Key = "0") MsgBox %A_ThisHotKey%单击 else if (%A_ThisHotKey%Key = "00") MsgBox %A_ThisHotKey%双击 else if (%A_ThisHotKey%Key = "1") MsgBox %A_ThisHotKey%长按 else MsgBox % "按键模式 " %A_ThisHotKey%Key Return 4::ToolTip % n := n="" ? 1 : ++n ; 开启#MaxThreadsBuffer会导致此类库失效 Class ClickAndLongClick { __New(timeout:=200) { tout := timeout/1000 , key := RegExReplace(A_ThisHotKey, "[\*\~\$\#\+\!\^]") Loop { time := A_TickCount KeyWait %key% ; , T%tout% ; 等待 按键被释放. if ErrorLevel { KeyWait %key% Return 1 } else { Pattern .= A_TickCount-time > timeout Critical KeyWait %key%, DT%tout% ; D: 等待按键被按下. T: 超时 Critical, Off if ErrorLevel Return Pattern } } } } /* 原版备份 F1:: p := ClickAndLongClick() If (p = "0") MsgBox 单击 Else If (p = "00") MsgBox 双击 Else If (p = "1") MsgBox 长按 Else MsgBox 按键模式 %p% Return ClickAndLongClick(timeout:=150) { tout := timeout/1000 key := RegExReplace(A_ThisHotKey, "[\*\~\$\#\+\!\^]") Loop { time := A_TickCount KeyWait %key% Pattern .= A_TickCount-time > timeout KeyWait %key%, DT%tout% If ErrorLevel Return Pattern } } */
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)