发表回复 
如何实现连击三次的快捷键?
2010-02-06, 13 : 04
如何实现连击三次的快捷键?
如何实现连击三次的快捷键?

我知道连击两次右键的快捷键是这样:
~RButton Up::
If ((A_PriorHotkey = A_ThisHotkey) AND (A_TimeSincePriorHotkey < 300))

请问连击三次的快捷键呢,是不是可以这样写:
~MButton Up::
If ((A_PriorHotkey = A_ThisHotkey) AND (A_TimeSincePriorHotkey < 300) AND (A_TimeSincePriorHotkey < 600))

请高手帮忙一下,谢谢!
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-06, 17 : 31
 
[i=s] 本帖最后由 SiriusB 于 2010-2-8 13:03 编辑 [/i]

代码: (全选)
Clicked := 0
~MButton Up::
If ((A_PriorHotkey = A_ThisHotkey) AND (A_TimeSincePriorHotkey < 300))
{
        If (Clicked=1)
        {
                MsgBox OK ;换成你要实现的代码。
                Clicked := 0
                Return
        }
        Clicked := 1        ;这里放置双击时执行的代码。
}
Return
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-08, 08 : 48
 
出现这个提示:
[attach]1186[/attach]


附件 缩略图
   
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-08, 17 : 34
 
使用之后,还是有问题,第一次是能正确捕捉三次,后面的就不行了。

<a href="http://dragonfeeler.blogspot.com" target="_blank">席门穷巷:软件、Google、思维导图</a>
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-08, 22 : 26
 
4# 枯言 我这里没有发现你说的问题。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-09, 14 : 35
 
[i=s] 本帖最后由 maxspeedwind 于 2010-2-9 14:37 编辑 [/i]

用一个变量计数,初始为0,按一次键就+1,到3次时执行设定功能并把变量清零
设定一个时间,如果在1秒内没有接收到三次按键也清零

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-09, 17 : 14
 
Just for coin :(
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-09, 17 : 14
 
sorry if interrupt :(
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-09, 17 : 15
 
The last one :)
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-19, 13 : 54
 
请大家给个提示好吗?
不胜感激
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-19, 13 : 56
 
我在论坛里搜了也没有这个例子
所以请高手帮帮忙
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-02-19, 15 : 52
 
[i=s] 本帖最后由 waxwax0099 于 2010-2-19 16:02 编辑 [/i]

以前在官方论坛看到的一个函数封装,改了下,原版不记得了
代码: (全选)
;~ 等待多次击键,激活不同行为
CountPresses(timeout = 0.15) {
   key := RegExReplace(A_ThisHotKey,"[\*\~\$\#\+\!\^( UP)]")
   Loop
   {
      KeyWait %key%
      KeyWait %key%,DT%timeout%
      If (ErrorLevel)
         Return A_Index
   }
}
使用例子:
代码: (全选)
~^p::
        nPressType := CountPresses()
        If(nPressType = 1)
     MsgBox,按下一次
         Else If(nPressType = 2)
         MsgBox,按下两次
          Else If(nPressType = 3)
         MsgBox,按下三次
        Return
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 1用户表示感谢waxwax0099
2010-02-21, 14 : 36
 
谢谢waxwax0099
我来试试
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-03-11, 10 : 02
 
我也期待左键三击实现让鼠标移到竖滚动条中间的滚动按钮上的脚本
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-30, 09 : 38
RE: 如何实现连击三次的快捷键?
(2010-02-19 15 : 52)waxwax0099 提到:  [i=s] 本帖最后由 waxwax0099 于 2010-2-19 16:02 编辑 [/i]

以前在官方论坛看到的一个函数封装,改了下,原版不记得了
代码: (全选)
;~ 等待多次击键,激活不同行为
CountPresses(timeout = 0.15) {
   key := RegExReplace(A_ThisHotKey,"[\*\~\$\#\+\!\^( UP)]")
   Loop
   {
      KeyWait %key%
      KeyWait %key%,DT%timeout%
      If (ErrorLevel)
         Return A_Index
   }
}
使用例子:
代码: (全选)
~^p::
        nPressType := CountPresses()
        If(nPressType = 1)
     MsgBox,按下一次
         Else If(nPressType = 2)
         MsgBox,按下两次
          Else If(nPressType = 3)
         MsgBox,按下三次
        Return

很棒的代码,还可延伸到4连击、N连击,虽然有延时不过时间很短可以接受,收藏了。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合