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

 我来答
默默磨机
2014-11-28
知道答主
回答量:20
采纳率:0%
帮助的人:21.3万
展开全部

还在苦苦守着电脑,心急如焚看着血条越来越少,等着技能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

运行结果:


chenqqt
2017-06-15 · TA获得超过643个赞
知道小有建树答主
回答量:262
采纳率:92%
帮助的人:140万
展开全部
记录时间 = Plugin.Sys.GetTime()
For i = 1 to 100
Delay i
Next
运行耗时 = Plugin.Sys.GetTime() - 记录时间
TracePrint "本次代码运行耗时(以此精确记录运行时间间隔):" & 运行耗时
'制作:法科
'时间:2017-06-15
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
007东风一号

2020-12-22 · TA获得超过1.1万个赞
知道大有可为答主
回答量:2.2万
采纳率:68%
帮助的人:582万
展开全部
按键精灵如何设置时间间隔

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

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



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



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



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



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



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



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



望采纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我爱南湘不爱你
2014-11-27 · TA获得超过1765个赞
知道小有建树答主
回答量:1653
采纳率:0%
帮助的人:638万
展开全部
设置开关热键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式