還在苦苦守著電腦,心急如焚看著血條越來越少,等著技能CD冷卻然後放大招嘛……
想不想浪漫一把,博得基 友歡心,從此只愛你一人?
是不是想說,有DateDiff可以獲取時間間隔嘛~~
小編今天給大家帶來的,可不是這麼簡單的命令哦~
要麼牛哄哄,要麼軟趴趴!
工具/原料
按鍵精靈2014
方法/步驟
調取系統底層API
GetTickCount函數介紹:
GetTickCount返回(retrieve)從操作系統啟動所經過(elapsed)的毫秒數,它的返回值是DWORD。
函數聲明:
Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
函數範例:計算當前時間和5秒後的時間差
// 獲取當前時間
TheTime = GetTickCount()
// 延時 5 秒
Delay 5000
// 再次獲取當前時間,計算時間差
TracePrint GetTickCount() - TheTime
運行結果:
獲取時間間隔:函數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
運行結果: