按键精灵中关于TouchDownEvent和TouchDown的区别探究

2017年1月28日 25447点热度 85人点赞 7条评论

问题发现

在按键精灵中,录制的脚本中使用了带Event的函数(TouchDownEvent,TouchMoveEvent,TouchUpEvent),而提供的指南中,却只有不带Event的(TouchDown,TouchMove,TouchUp)。而当把这两种函数进行比较,却能发现明显不同:运行效率Event明显快很多

Dim t1

t1=TickCount()
TouchDown 1,1,0
TouchMove 5,1,0
TouchUp 0
ShowMessage "无Event:"&TickCount()-t1
Delay 2000

t1=TickCount()
TouchDownEvent 1,1,0
TouchMoveEvent 5,1,0
TouchUpEvent 0
ShowMessage "有Event:"&TickCount()-t1
Delay 2000

运行输出:无Event:183,有Event:3

单位是毫秒,这个差距很大了,而且会造成卡顿。

出现原因

Event的中文意思是事件,这里猜测不用Event的是模拟人手点击(防止被检测)所以有自然延时。而Event直接是录制下来的,所以不需要防检测,直接输出指令,所以效率高。

实例运用


在刷一刷红包中,用Event拿下8000+

章鱼DS

学生网站代码通吃的草根,但总拼命着长出树根。

文章评论

  • 水电费

    TouchMove 后面一个时间参数你没填,缺省默认是100毫秒

    2017年9月13日
    • 章鱼DS

      @水电费 谢谢提醒,可惜手头的miui9不能用按键,还没法继续试验。

      2017年9月24日
      • @章鱼DS TouchMoveEvent 怎么用在写的代码中 替换TAP之类的不能用

        2019年8月29日
  • 侠客行

    能不能给个联系方式。我想请教您这个命令的用法。

    2018年12月18日
  • 小虾米

    TouchUpEvent 1
    后面这个1,2,3代表什么呢

    2021年3月24日
    • 章鱼DS

      @小虾米 多点触控情况下,标记是哪一个手指按下的,在按下和松开时都可以指定。

      2021年3月24日