找回密码
 加入
搜索
查看: 433|回复: 8

[AU3基础] AU3使用大漠插件绑定窗口找字的问题

[复制链接]
发表于 2024-2-28 18:11:19 | 显示全部楼层 |阅读模式
悬赏300金钱已解决
本帖最后由 aixi769776971 于 2024-3-1 09:44 编辑

#AutoIt3Wrapper_UseX64=n


$dll_path = "C:\dm.dll"
Global $dm = _RegDM($dll_path)
$dm.SetDict(0,"C:\Users\Administrator\Desktop\AU3大漠\susu.txt")        ;设置字库
If IsObj($dm) Then
        $ver = $dm.Ver()
        $susu = ConsoleWrite('当前大漠插件版本:' & $ver & @CRLF)
        ;MsgBox(0, '', $susu)   
        
Else
        MsgBox(64, '提示:', '注册大漠插件失败!!!')
        Exit
EndIf

Func _RegDM($dll_path)
        Local $obj = ObjCreate("dm.dmsoft")
        If Not IsObj($obj) Then
                RunWait(@ComSpec & ' /c regsvr32 /s ' & FileGetShortName($dll_path), '', @SW_HIDE)
                $obj = ObjCreate("dm.dmsoft")
        EndIf
        Return $obj
EndFunc




Run('cmd /c calc', "", @SW_HIDE)
Sleep(3000)
;$yifei=WinWait ( "计算器" )
Local $intx,$inty                ;特别注意:此处只能定义,或者赋值为空,否则出错!!
$kexin=$dm.FindStrFast(0,0,2000,2000,"帮","000000-000000",0.9,$intx,$inty)
MsgBox(0,'',$kexin)
MsgBox(0,'',$intx)
MsgBox(0,'',$inty)
MouseClick('left',$intx,$inty,1)
;-------------------------------------------上面的代码是没有绑定窗口、可以正常用大漠插件找到计算器窗口里面的“帮”这个字--------------------------------------------------------
;请求解决AU3使用大漠插件绑定了窗口后、找不到窗口里面的字
;我使用的是3.1232免费版的大漠
          声明:本问题已解决、但是我在标题上面加不上已解决
;-------------------------------------------下面的代码是绑定了窗口、使用用大漠插件找不到计算器窗口里面的“帮”这个字--------------------------------------------------------


#AutoIt3Wrapper_UseX64=n
#RequireAdmin


$dll_path = "C:\dm.dll"
Global $dm = _RegDM($dll_path)
$dm.SetDict(0,"C:\Users\Administrator\Desktop\AU3大漠\susu.txt")        ;设置字库
If IsObj($dm) Then
        $ver = $dm.Ver()
        $susu = ConsoleWrite('当前大漠插件版本:' & $ver & @CRLF)
        ;MsgBox(0, '', $susu)
        
Else
        MsgBox(64, '提示:', '注册大漠插件失败!!!')
        Exit
EndIf

Func _RegDM($dll_path)
        Local $obj = ObjCreate("dm.dmsoft")
        If Not IsObj($obj) Then
                RunWait(@ComSpec & ' /c regsvr32 /s ' & FileGetShortName($dll_path), '', @SW_HIDE)
                $obj = ObjCreate("dm.dmsoft")
        EndIf
        Return $obj
EndFunc




Run('cmd /c calc', "", @SW_HIDE)

$yifei=WinWait ("计算器")
$yifeiii=WinActivate($yifei)
$susu=$dm.bindwindow($yifeiii,"gdi","windows3","windows",0) ;绑定窗口
;MsgBox(0,'',$susu)


Sleep(3000)
Local $intx,$inty                ;特别注意:此处只能定义,或者赋值为空,否则出错!!

$kexin=$dm.FindStrFast(0,0,500,500,"帮","000000-000000",0.9,$intx,$inty)
MsgBox(0,'',$kexin)




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

最佳答案

查看完整内容

除两个文件路径外,只是把 102208460B0900E005009011820C400$六$0.0.26$11 加入你的字库,“帮” 字 改为 “六”字而已。
发表于 2024-2-28 18:11:20 | 显示全部楼层
aixi769776971 发表于 2024-2-29 17:41
代码麻烦发给我看下  我看是我哪里弄错了

除两个文件路径外,只是把 102208460B0900E005009011820C400$六$0.0.26$11 加入你的字库,“帮” 字 改为 “六”字而已。
发表于 2024-2-28 23:46:19 | 显示全部楼层
找字不是应该用ORC?
 楼主| 发表于 2024-2-29 09:32:02 | 显示全部楼层
qop1830 发表于 2024-2-28 23:46
找字不是应该用ORC?

我是用自己做的字库、做游戏辅助用字库识别准确些
发表于 2024-2-29 09:59:04 | 显示全部楼层
你所找的“帮”是菜单栏的“帮助”?没猜错的话大漠的绑定窗口范围是窗口的客户区,菜单刚好除外…
 楼主| 发表于 2024-2-29 16:51:53 | 显示全部楼层
afan 发表于 2024-2-29 09:59
你所找的“帮”是菜单栏的“帮助”?没猜错的话大漠的绑定窗口范围是窗口的客户区,菜单刚好除外… ...

我要找的计算器菜单栏的“帮”、我试了不找菜单栏的字、发现也找不到
发表于 2024-2-29 17:38:57 | 显示全部楼层
aixi769776971 发表于 2024-2-29 16:51
我要找的计算器菜单栏的“帮”、我试了不找菜单栏的字、发现也找不到

帮字不就是如我所说?特意试了比如找“六”字(102208460B0900E005009011820C400$六$0.0.26$11)正常。
 楼主| 发表于 2024-2-29 17:41:58 | 显示全部楼层
afan 发表于 2024-2-29 17:38
帮字不就是如我所说?特意试了比如找“六”字(102208460B0900E005009011820C400$六$0.0.26$11)正常。 ...

代码麻烦发给我看下  我看是我哪里弄错了
 楼主| 发表于 2024-2-29 18:02:53 | 显示全部楼层
afan 发表于 2024-2-29 17:49
除两个文件路径外,只是把 102208460B0900E005009011820C400$六$0.0.26$11 加入你的字库,“帮” 字 改为 ...

我试了下 可以了 问题解决了 谢谢你  
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 12:02 , Processed in 0.076957 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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