大漠插件
1.注冊(cè)
(1)regsr32 dm.dll
(2)注意:如果注冊(cè)失敗,需要以管理員方式運(yùn)行,或者在system32文件夾下運(yùn)行
2.注冊(cè)成功測試程序
(1)準(zhǔn)備:導(dǎo)入pypiwin32
(2)測試程序:
3.找色
long FindColor(x1, y1, x2, y2, color, sim, dir,intX,intY)
(1)參數(shù)介紹:
x1, y1, x2, y2:找色區(qū)域
color 字符串:顏色 格式為"RRGGBB-DRDGDB"(rgb顏色+偏色)
sim 雙精度浮點(diǎn)數(shù):相似度,取值范圍0.1-1.0
dir 整形數(shù):查找方向 0: 從左到右,從上到下?
? ? ? ? ? ? ?1: 從左到右,從下到上?
? ? ? ? ? ? ?2: 從右到左,從上到下?
? ? ? ? ? ? ?3: 從右到左,從下到上?
? ? ? ? ? ? ?4:從中心往外查找
? ? ? ? ? ? ?5: 從上到下,從左到右?
? ? ? ? ? ? ?6: 從上到下,從右到左
? ? ? ? ? ? ?7: 從下到上,從左到右
? ? ? ? ? ? ?8: 從下到上,從右到左
intX 變參指針:返回X坐標(biāo)
intY 變參指針:返回Y坐標(biāo)
例:dm.FindColor(0, 0, 1920, 1080, “6bff00-000000”, 1, 0, x, y) ??
(2)找色工具:大漠綜合工具,需要勾選偏色按鈕
(3)缺點(diǎn):不精確
4.把鼠標(biāo)移動(dòng)到目的點(diǎn)(x,y)
long MoveTo(x,y)
返回值:0:失敗?? ?1:成功
5.鍵鼠操作
(1)按下鼠標(biāo)左鍵?? ?long LeftClick()?? ?
(2)雙擊鼠標(biāo)左鍵?? ?long LeftDoubleClick()
(3)按住鼠標(biāo)左鍵?? ?long LeftDown()
(4)彈起鼠標(biāo)左鍵?? ?long LeftUp()
(5)獲取鼠標(biāo)位置?? ?long GetCursorPos(x,y)
(6)按下指定的虛擬鍵碼?? ?long KeyPressChar(key_str)
例:dm.KeyPressChar "enter"
dm.KeyPressChar "1"
6.找圖
long FindPic(x1, y1, x2, y2, pic_name, delta_color,sim, dir,intX, intY)
(1)參數(shù)定義
x1 整形數(shù):區(qū)域的左上X坐標(biāo)
y1 整形數(shù):區(qū)域的左上Y坐標(biāo)
x2 整形數(shù):區(qū)域的右下X坐標(biāo)
y2 整形數(shù):區(qū)域的右下Y坐標(biāo)
pic_name 字符串:圖片名,可以是多個(gè)圖片,比如"test.bmp|test2.bmp|test3.bmp"
delta_color 字符串:顏色色偏比如"203040" 表示RGB的色偏分別是20 30 40 (這里是16進(jìn)制表示)
sim 雙精度浮點(diǎn)數(shù):相似度,取值范圍0.1-1.0
dir 整形數(shù):查找方向 0: 從左到右,從上到下 1: 從左到右,從下到上 2: 從右到左,從上到下 3: 從右到左, 從下到上
intX 變參指針:返回圖片左上角的X坐標(biāo)
intY 變參指針:返回圖片左上角的Y坐標(biāo)
(2)返回值
返回找到的圖片的序號(hào),從0開始索引.如果沒找到返回-1
(3)例:dm.FindPic(0,0,2000,2000,"1.bmp|2.bmp|3.bmp","000000",0.9,0,intX,intY)
(4)工具:大漠綜合工具:抓圖
(5)缺點(diǎn):速度慢
7.找字
(1)建立字庫
①抓圖
②勾選偏色,點(diǎn)擊偏色去提取一個(gè)黑色像素
③提取點(diǎn)陣(多個(gè))
④定義文字
⑤回車(添加到當(dāng)前字庫)
(2)在屏幕范圍(x1,y1,x2,y2)內(nèi),查找string(可以是任意個(gè)字符串的組合),并返回符合color_format的坐標(biāo)位置,相似度sim同Ocr接口描述.
①long FindStr(x1,y1,x2,y2,string,color_format,sim,intX,intY)
②例:dm.FindStr(0,0,2000,2000,"長安","9f2e3f-000000",1.0,intX,intY)
8.查找頂層可見窗口
(1)long FindWindow(class,title)?
(2)參數(shù)定義
①class 字符串: 窗口類名,如果為空,則匹配所有. 這里的匹配是模糊匹配.
②title 字符串: 窗口標(biāo)題,如果為空,則匹配所有.這里的匹配是模糊匹配
(3)返回窗口句柄,沒找到返回0
(4)例:hwnd = dm.FindWindow("","記事本")?
9.查找子窗口
(1)long FindWindowEx(parent,class,title)
(2)參數(shù)定義:
①parent 整形數(shù): 父窗口句柄,如果為空,則匹配所有頂層窗口
②class 字符串: 窗口類名,如果為空,則匹配所有. 這里的匹配是模糊匹配.
③title 字符串: 窗口標(biāo)題,如果為空,則匹配所有. 這里的匹配是模糊匹配.
(3)返回窗口句柄,沒找到返回0
(4)例:hwnd2 = dm.FindWindowEx(hwnd,"","記事本")?
(5)工具:精易編程助手
10.綁定指定窗口
(1)并指定這個(gè)窗口的屏幕顏色獲取方式,鼠標(biāo)仿真模式,鍵盤仿真模式,以及模式設(shè)定,高級(jí)用戶可以參考BindWindowEx更加靈活強(qiáng)大.
(2)long BindWindow(hwnd,display,mouse,keypad,mode)
(3)參數(shù)
①hwnd:窗口句柄
②display 字符串: 屏幕顏色獲取方式 取值有以下幾種
(4)例:dm_ret = dm.BindWindow(hwnd,"gdi","windows","windows",0)
11.抓取指定區(qū)域(x1, y1, x2, y2)的圖像,保存為file(24位位圖)
(1)long Capture(x1, y1, x2, y2, file)
?
總結(jié)
- 上一篇: c# 路径空格---ProcessSta
- 下一篇: iDempiere = OSGi + A