找回密码  加入

AUTOIT CN

搜索
查看: 216|回复: 9

大漠插件今天刚开始用,找图一直失败,不知道如何处理

[复制链接]
发表于 2019-9-8 20:22:29 | 显示全部楼层 |阅读模式
用的是大漠3.1233版本,用的图片2.bmp是随意在桌面截图一个图标 ,总是找不到 ,小白不知道为什么
我看接口说明必须用24位色格式,还用画图另存为24位BMP ,还是不行。
  1. #AutoIt3Wrapper_UseX64=n
  2. $dll_path=@ScriptDir & '\dm.dll'
  3. Global $DM = _RegDM($dll_path)
  4. If IsObj($DM) Then
  5.         $ver = $DM.Ver()
  6.                
  7. ;~         MsgBox(0,0,'> 插件版本:' & $ver & @CRLF)
  8. Else
  9.         MsgBox(64, '提示:', '注册大漠插件失败!!!')
  10.         Exit
  11. EndIf
  12.         
  13. Func _RegDM($dll_path)
  14.         Local $obj = ObjCreate("dm.dmsoft")
  15.         If Not IsObj($obj) Then
  16.                 RunWait(@ComSpec & ' /c regsvr32 /s ' & FileGetShortName($dll_path), '', @SW_HIDE)
  17.                 $obj = ObjCreate("dm.dmsoft")
  18.         EndIf
  19.         Return $obj
  20. EndFunc
  21.        
  22. $x=@DesktopWidth
  23. $y=@DesktopHeight
  24. Local $hTimer = TimerInit()
  25. $dm_ret = $dm.FindPicEx(0,0,$x,$y,"2.bmp","000000",0.9,0)
  26. If $dm_ret<>0 Then
  27.     MsgBox(64, '提示:', '找到')
  28. EndIf
  29. ConsoleWrite(TimerDiff($hTimer)&@CRLF)
复制代码
发表于 2019-9-8 22:10:13 | 显示全部楼层
细看帮助文件吧。注意返回值,可在25行后插入调试语句,看看$dm_ret 的值。
发表于 2019-9-8 23:12:37 | 显示全部楼层
$dm_ret = $dm.FindPicEx(0,0,$x,$y,"2.bmp","000000",0.9,0)

问题应该在这,图片的路径,你试着调一调
发表于 2019-9-8 23:13:56 | 显示全部楼层
另外还有屏幕分辩率,我印象当中需要将缩放设置改为100%
 楼主| 发表于 2019-9-9 14:43:06 | 显示全部楼层
shqf 发表于 2019-9-8 22:10
细看帮助文件吧。注意返回值,可在25行后插入调试语句,看看$dm_ret 的值。

看了好久返回值是个字符串,但是我返回的都是0
 楼主| 发表于 2019-9-9 14:44:15 | 显示全部楼层
niqindong 发表于 2019-9-8 23:12
$dm_ret = $dm.FindPicEx(0,0,$x,$y,"2.bmp","000000",0.9,0)

问题应该在这,图片的路径,你试着调一调

对啊,真正的就这一句,前面是注册dll的函数,没有问题 ,这一句就是找图的。路径可能有问题,我试试绝对路径。
发表于 2019-9-10 08:10:38 | 显示全部楼层
1,可能大漠有问题
2,试试修改为x86运行
发表于 6 天前 | 显示全部楼层
仔细看示例是如何判断返回值的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入

x
发表于 3 天前 | 显示全部楼层
$DM.FindPic(0, 0, 2000, 2000, @ScriptDir & "\CHCData.bmp", "000000", 0.80, 0, $x, $y)
这是我的找图命令,你自行参考一下,我的是可以使用的,我还是怀疑是你图片有问题,我是把图片放在了脚本目录下,然后用@ScriptDir &“\图片名称”的方式的,应该是这样的,可以支持相对路径和绝对路径,但是你只写一个图片名称的话,不知道能否直接定为到脚本目录。

另外的话,我的电脑经常出现dm注册失败的情况,所以我在最前面加了一个
#PRE_UseX64=n
如果你的dm注册没有问题的话,可以不加,只要可以注册成功,能够返回版本号就行了。
发表于 3 天前 | 显示全部楼层
dm_ret = dm.FindPicEx(0,0,2000,2000,"test.bmp|test2.bmp|test3.bmp|test4.bmp|test5.bmp","020202",1.0,0)
If len(dm_ret) > 0 Then
另外楼上也说了,帮助文档中使用len判断是否找图成功的,你还是规范一点吧,好好的按照接口说明来写吧。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|小黑屋|手机版|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2019-9-20 08:13 , Processed in 0.062499 second(s), 20 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表