用按键精灵如何巧妙获取时间间隔?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用按键精灵如何巧妙获取时间间隔?相关的知识,希望对你有一定的参考价值。

还在苦苦守着电脑,心急如焚看着血条越来越少,等着技能CD冷却然后放大招嘛……

想不想浪漫一把,博得基 友欢心,从此只爱你一人? 

是不是想说,有DateDiff可以获取时间间隔嘛~~

小编今天给大家带来的,可不是这么简单的命令哦~

要么牛哄哄,要么软趴趴!


调取系统底层API

GetTickCount函数介绍:

GetTickCount返回(retrieve)从操作系统启动所经过(elapsed)的毫秒数,它的返回值是DWORD。


函数声明:

Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long

函数范例:计算当前时间和5秒后的时间差

// 获取当前时间

TheTime = GetTickCount()

// 延时 5 秒

Delay 5000

// 再次获取当前时间,计算时间差

TracePrint GetTickCount() - TheTime

运行结果:

2014-8-12 18:01 上传

下载附件 (119.7 KB) 



获取时间间隔:函数DateDiff与函数GetTickCount()对比

DateDiff只能获取到最小单位为:秒的数值

GetTickCount()可以获取到最小单位为:毫秒的数值

有时候,脚本的成败往往就在毫秒之间!

范例:等图找图大神代码

来看看大神提供的等图找图代码段吧~~

//声明函数GetTickCount

Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long


//找出多张图(hsz.bmp、jsj.bmp、ie.bmp)中的其中一张

TracePrint 找多图("hsz.bmp|jsj.bmp|ie.bmp") 

//延迟5000ms,等待图(hsz.bmp)

TracePrint 等图_毫秒("hsz.bmp",5000)

//延迟5000ms,等待多张图(hsz.bmp、jsj.bmp、ie.bmp)中的其中一张

TracePrint 等多图_毫秒("hsz.bmp|jsj.bmp|ie.bmp",5000) 


Function 找多图_数组(图像列表)

        找多图_数组 = 0

        For i = 0 To UBound(图像列表)

                FindPic 0, 0, Plugin.Sys.GetScRX - 1, Plugin.Sys.GetScRY - 1, "Attachment:\\" & 图像列表(i), 1, intX, intY

                If IntX >= 0 Then 

                        找多图_数组 = i + 1

                        Exit For

                End If

        Next

End Function


Function 找多图(图像)

        找多图 = 找多图_数组(split(图像,"|"))

End Function


Function 等图_毫秒(图片, 超时时间)// 利用两次 GetTickCount() 得到时间间隔(单位:毫秒)

        等图_毫秒 = TRUE

        开始时间 = GetTickCount()

        Do

                If GetTickCount() - 开始时间 > 超时时间 Then 等图_毫秒 = FALSE:Exit Do

                FindPic 0, 0, Plugin.Sys.GetScRX - 1, Plugin.Sys.GetScRY - 1, "Attachment:\\" & 图片, 1, intX, intY

        Loop Until IntX >= 0

End Function


Function 等多图_毫秒(图片, 超时时间)// 利用两次 GetTickCount() 得到时间间隔(单位:毫秒)

        开始时间 = GetTickCount()

        Do

                If GetTickCount() - 开始时间 > 超时时间 Then Exit Do

                等多图_毫秒 = 找多图(图片)

        Loop Until 等多图_毫秒

End Function

运行结果:


参考技术A 记录时间 = Plugin.Sys.GetTime()
For i = 1 to 100
Delay i
Next
运行耗时 = Plugin.Sys.GetTime() - 记录时间
TracePrint "本次代码运行耗时(以此精确记录运行时间间隔):" & 运行耗时
'制作:法科
'时间:2017-06-15
参考技术B 按键精灵如何设置时间间隔

按键精灵可以模拟鼠标和键盘的动作,通过按键精灵制作脚本,可以在一定程度上可以解放我们的双手,那么按键精灵怎样设置时间间隔呢?现在就为大家介绍一下,如何输入时间间隔

操作方法
01
打开或者新建一个脚本,点击左侧的【其他命令】



02
就可以看到设置时间的地方,就是【延时】



03
点击第一个下拉菜单,就可以选择时间的单位,有【秒】和【毫秒】两种



04
后面的时间,可以输入间隔的数值



05
然后点击后面的【插入】



06
就可以看到命令已经被插入了,注意:在脚本中,所有的时间单位都是【毫秒】,即使你插入的时候单位选择的是秒,按键精灵也会转为毫秒



07
还有一种更加简便的方法,点击【源文件】
可以看到刚才的语句被转化为了【Delay 100000】,并且可以用键盘输入语句了
所以,直接输入【Delay+时间】就可以设置时间间隔了,
注意时间单位是毫秒



望采纳!
参考技术C 设置开关热键

以上是关于用按键精灵如何巧妙获取时间间隔?的主要内容,如果未能解决你的问题,请参考以下文章

按键精灵如何执行完一个脚本后等待一段时间后再次执行这个脚本

按键精灵如何把复制的数据写入到excel指定单元格中

求一个按键精灵9的脚本

求按键精灵固定句柄和移动句柄的激活设置~~~

请教如何用按键精灵把已复制的文本内容粘贴到excel指定位置,谢谢!!

哪位会做按键精灵自动输入验证码脚本?悬赏!!