- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大漠各个插件说明
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,test.txt
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)
dm_ret = dm.SetDict(0,test.txt)
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.GetMousePointWindow()
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.
那么代码如下
dm.EnableDisplayDebug 1
dm_ret = dm.FindStr(0,0,2000,2000,长安,ffffff-000000,1.0,x,y)
if x 0 then
dm_ret = dm.CapturePre(screen.bmp)
end if
这样就把FindStr时的截图保存下来了,就完全恢复了现场. 因为CapturePre这个函数是截取上一次的截图数据.
6插件释放到Plugin里的要求
首先从理论上来说释放到任何目录都是没问题的
但是按键以及简单游或者小精灵的Plugin目录比较特殊
原因在于按键会自动把Plugin目录下的所有dll强行注册到系统(相当于调用了Regsvr32 *.dll)
而且按键还会自动为
文档评论(0)