【按键精灵】后台识别图片、文字、颜色
在当今智能化的时代,自动化操作越来越受到人们的青睐。其中,“按键精灵”作为一种自动化工具,可以帮助我们在电脑上完成重复性的工作。今天,我们就来探讨一下“按键精灵”如何通过后台操作来识别图片、文字和颜色。
后台原理
“按键精灵”之所以能够进行后台操作,主要是因为它能够模拟人的电脑操作。当我们在电脑上点击、输入或者查找时,实际上是在向电脑发送一系列的指令。而“按键精灵”就是通过模拟这些指令,来完成相应的操作。
set dm = createobject("dm.dmsoft")
//获取窗口句柄
hwnd = dm.FindWindow("Chrome_WidgetWin_1","口袋奇兵H5 | TopWar")
TracePrint hwnd
//设置窗口大小
dm_ret = dm.SetWindowSize(hwnd, 1024, 1000)
//移动窗口位置
dm.MoveWindow hwnd, 10 , 10
//打印输出判断是否绑定成功;打印1表示绑定成功
TracePrint dm_ret
//获取文件附件保存位置(指的是默认位置)
base_path = dm.GetBasePath()
//打印一下
TracePrint base_path
//可以改变附件存放位置
dm_ret = dm.SetPath(base_path)
dm_ret = dm.SetDict(0,"C:\test_game\建电站.txt")
Dim i
i = 0
Dim s1,s2
s1 = 0
s2 = 0
//当条件成立时,进入循环,直到条件不成立,退出循环
While i <= 2000
//绑定窗口(后台)
//dm_ret = dm.BindWindow(hwnd, "normal", "windows", "normal", 0)
//dm_ret = dm.BindWindowex(hwnd, "normal", "windows", "windows",0)
dm_ret = dm.BindWindow(hwnd,"normal","windows","normal",0)
//判断队列是否满
s1 = dm.Ocr(149,411,163,426,"b@ffffff-5c6057",0.9)
s2 = dm.Ocr(167, 412, 178, 426, "b@ffffff-5c6057", 0.9)
If s1 < s2 or s1 = "" Then
dm_ret = dm.FindPic(893,634,995,709,"联盟标志.bmp","000000",0.9,0,intX,intY)
If intX >= 0 and intY >= 0 Then
TracePrint intX
TracePrint intY
dm.MoveTo intX, intY
dm.LeftClick
Delay 200
dm.MoveTo 360, 917
dm.LeftClick
Delay 200
dm.LeftClick
Delay 300
Call 识色()
Delay 400
TracePrint "建设次数:" & i+1
End If
End If
Wend
TracePrint "循环结束,i=" & i
Sub 识色
dm_ret = dm.FindMultiColor(248,119,539,153,"8e76b1","",0.95,0,intX,intY)
TracePrint dm_ret
dm.MoveTo intX,intY
If dm_ret = 1 Then
TracePrint "识别紫色成功"
//点击蓝色电站坐标位置
Delay 50
dm_ret = dm.FindMultiColor(254,159,659,183, "16739f|1774a0", "", 0.90, 1, intA, intB)
If dm_ret = 1 Then
TracePrint "识别蓝色成功"
TracePrint intA
TracePrint intB
dm.MoveTo intA + 10, intB - 3
dm.LeftClick
Delay 200
//点击电站
dm.MoveTo 504,512
dm.LeftClick
Delay 200
//点击建造
dm.MoveTo 360,391
dm.LeftClick
Delay 200
//增援
dm.MoveTo 666, 257
dm.LeftClick
Delay 300
//识字判断队列是否已满
dm_ret = dm.FindStr(646,403,694,428,"获取","b@cacbc9-646464",0.8,intX,intY)
If intX >= 0 and intY >= 0 Then
TracePrint "识字成功"
Delay 2000
dm.MoveTo 718,250
dm.LeftClick
//队列都满了等待10秒
Delay 10000
Else
TracePrint "队列没有满"
//如果队列没有满
Delay 200
dm.MoveTo 867,838
dm.LeftClick
Delay 50
dm.MoveTo 499,417
dm.LeftClick
End If
End If
Else
TracePrint "识别紫色失败"
Delay 50
dm.MoveTo 275,59
dm.LeftClick
Delay 100
dm.LeftClick
Delay 100
dm.LeftClick
Delay 100
Delay 10000
End If
End Sub
dm.UnBindWindow //解绑窗口
Set dm = Nothing //释放大漠插件
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
烦恼的夏洛克!
喜欢就支持一下吧