【按鍵精靈】大漠插件如何找圖?(參考代碼后附)
找圖=找像素=找字,所以我這里不用FindPic,而是用FindStr。
FindStr的優(yōu)點(diǎn):找尋速度更快,不用截圖保存但取而代之的是做字庫(kù)。(其實(shí)FindPic我也沒(méi)用過(guò)......)
步入正題:
1.老規(guī)矩把 注冊(cè)大漠、窗口綁定都寫在前面(或者寫在子程序中,然后Call來(lái)調(diào)用,這樣顯得簡(jiǎn)潔,程序易讀),窗口我就選搜狗瀏覽器的4399小游戲頁(yè)面,經(jīng)抓取,窗口句柄hwnd=123456? ? ?...隨便編一個(gè)...

2.我要抓洛克王國(guó)的圖標(biāo),打開“大漠綜合工具”--勾選浮動(dòng)抓圖--然后會(huì)出現(xiàn)一個(gè)置頂?shù)乃{(lán)色框框,讓它覆蓋洛克王國(guó),調(diào)整好大小






'-----------主程序如下:------------------?
Call 注冊(cè)大漠?
hwnd=123456
Call 窗口綁定?
dm_ret = dm.SetDict(0,"D:\測(cè)試\font.txt") //設(shè)置字庫(kù)?
dm_ret = dm.FindStr(0,0,1920,1080,"洛克","462181-202020",1.0,intX,intY)?
If dm_ret=0 Then //dm_ret=0代表找到字樣?
????TracePrint "找到圖片位置在:" & intX & "," & intY?
????dm.MoveTo intx,inty?
Else?
????TracePrint "沒(méi)有找到圖片"?
End If?
'-----------主程序結(jié)束---------------------
'子程序如下,若調(diào)用則運(yùn)行,不調(diào)用則不起作用,類似自定義函數(shù)。
Sub 注冊(cè)大漠()
? ? need_ver = "3.1233"
? ? set ws=createobject("Wscript.Shell")
? ? ws.run "regsvr32 atl.dll /s"
? ? Set ws = nothing
? ? PutAttachment "D:\測(cè)試","*.*" //釋放所有附件到D:\測(cè)試
? ? PutAttachment ".\Plugin" ,"RegDll.dll" //釋放RegDll.dll,到按鍵精靈下的plugin文件夾
? ? Call Plugin.RegDll.Reg("D:\測(cè)試\dm.dll") //調(diào)用dm.dll
? ? set dm = createobject("dm.dmsoft")
? ? ver = dm.Ver()
? ? If ver = need_ver Then?
? ? ? ? TracePrint "注冊(cè)成功!"
? ? ? ? Else?
? ? ? ? TracePrint "注冊(cè)失敗"
? ? End If
? ??
? ? Delay 500
End Sub
Sub 窗口綁定()
? ? dm_ret = dm.BindWindowEx(hwnd,"dx2","dx","dx","dx.public.active.message",4)
? ? Delay 1000
? ? If dm_ret = 1 Then?
? ? ? ? TracePrint "綁定成功"
? ? Else?
? ? ? ? TracePrint "綁定錯(cuò)誤,錯(cuò)誤碼 " & dm.GetLastError()
? ? ? ? If dm.GetLastError() = - 3? Then?
? ? ? ? ? ? TracePrint "綁定錯(cuò)誤,可能目標(biāo)窗口有保護(hù) 或 異常錯(cuò)誤"
? ? ? ? End If
? ? End If
? ? Delay 1000
End Sub
Sub OnScriptExit()
? ? dm_ret = dm.UnBindWindow()
? ? If dm_ret = 1 Then?
? ? ? ? TracePrint "解除綁定成功"
? ? End If
End Sub
'------------------------分割線-----------------------------'
程序第八行會(huì)輸出一個(gè)x,y坐標(biāo),就是洛克的圖標(biāo)位置,由此實(shí)現(xiàn)了用FindStr達(dá)到FindPic的功能,而且是后臺(tái)識(shí)圖(綁定后的操作全為后臺(tái)操作)。(可以用按鍵抓抓驗(yàn)證坐標(biāo),將按鍵抓抓移到洛克的圖標(biāo)處,查看客戶端內(nèi)坐標(biāo)可以發(fā)現(xiàn),和代碼輸出的x,y一致。)
完。