大漠各个插件说明
1. 无返回值的不能带括号 ,或者说无括号不能带返回值,例如
dm.FindStr 0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intY
dm.MoveTo intX,intY
dm.LeftClick
dm.SetPath "c:\xxxx"
dm.SetDict 0,""
dm.LoadPic "*.bmp"
等等,这些都是不需要返回值的,那么不需要加括号,当然,你也可以加括号,但是就必须遵循规则2
2.有返回值的必须带括号,或者说,有括号必须有返回值,例如
dm_ret = dm.FindStr(0,0,2000,2000,"长安","aaaaa-00000",1.0,intX,intY)
dm_ret = dm.MoveTo(intX,intY)
dm_ret = dm.LeftClick()
dm_ret = dm.SetPath("c:\xxxx")
提取excel单元格中的部分内容dm_ret = dm.SetDict(0,"")
dm_ret = dm.LoadPic("*.bmp")
有些函数,是必须有返回值的,那么就必须带括号,比如Ocr函数等
ss = dm.Ocr(0,0,2000,2000,"aaaaaa-000000",1.0)
4按键多线程调用插件
目前来讲,按键的多线程还不够成熟。 尽量少用。以下是在按键下使用多线程调用插件的一个示例.
// 注册部分我就省略了
Dim hwnd
Set dm = createobject("dm.dmsoft")
TracePrint dm.Ver()
// 主绑定(当然你也可以不要主绑定。直接在线程里绑定)
hwnd = dm.GetMouPointWindow()
dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0)
TracePrint dm_ret
Id1 = BeginThread(测试线程)
Id2 = BeginThread(测试线程)
Do
你比我猜游戏规则Delay 2000
TracePrint "主线程"
Loop
// 这里必须用ExitScript 以免线程无法停止.
ExitScript
Sub 测试线程()
Set dm = createobject("dm.dmsoft")
// 副绑定
dm_ret = dm.BindWindow(hwnd, "dx", "windows", "windows", 0)
TracePrint dm_ret
Do
Delay 2000
TracePrint "子线程"北京西师附小
Loop
End Sub
Sub OnScriptExit()
电脑驱动怎么安装 TracePrint "OnScriptExit"
dm.UnBindWindow
End Sub
5本机文字识别正常 为什么别的机器识别不正常
好听的情侣名
这是一个很常见的问题,不同机器,由于系统的不同或者软件设置的差异,会导致文字颜色,字体等可能存在不同。
一般来说解决这个问题,以前的办法是这样,利用Capture函数,比如
dm_ret = dm.FindStr(0,0,2000,2000,"长安","ffffff-000000",1.0,x,y)
if x < 0 then
dm_ret = dm.Capture(0,0,2000,2000,"screen.bmp")
end if
这样当找不到长安时,就会截图保存为screen.bmp,然后作者可以分析这个文件,来对自己的字库或者代码进行调节优化.
但这个办法有个延后性的问题,因为FindStr和Capture是两个操作,分别调用了两次截屏,所以可能会有稍许不一致的情况存在.
为了完完全全的对FindStr时,产生的截图进行分析,我们需要用到2.1131版本提供的两个函数。弃婴岛
破十法儿歌CapturePre和EnableDisplayDebug.