Q语言 我的命令库《通用找图》之后台找字函数源码
admin
2023-01-21 09:01:06
0

'=====================找字命令===============================

Function 找字B(字符串,字号,点X1, 点Y1, 点X2, 点Y2)
    //    后台找图
    Dim iZB, Xy
    XY = Plugin.Bkgnd.FindWordShape(Hwnd,clng(点X1), clng(点Y1), clng(点X2), clng(点Y2), 字符串, "", Cint(字号), 0,0.9)
    iZB = InStr(XY, "|")
    找字_intx=CLng(Left(XY, iZB - 1))
    找字_inty=CLng(Right(XY, Len(XY) - iZB)) 
    If 找字_intx >= 0 and 找字_inty >= 0 Then 
        日志运行内容 = V_当前程序 & "B-------------->找到文字:" & 字符串&"("&找字_intx&","&找字_inty&")"
        Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容
        找字B=1
    Else 
        日志运行内容 = V_当前程序 & "B未找到文字:" & 字符串
        Call Lib.通用.输出日志(日志运行内容) : TracePrint 日志运行内容
        找字B=0          
    End If
End Function

Function 找字点击B(字符串, 字号, 点X1, 点Y1, 点X2, 点Y2)
    Dim 返回值
    找字点击B=0
    返回值= 找字B(字符串,字号,点X1, 点Y1, 点X2, 点Y2)
    If 返回值 > 0 Then 
        Call Plugin.Bkgnd.MoveTo(Hwnd, 找字_intx + 5, 找字_inty +5)
        Delay 50
        Call Plugin.Bkgnd.LeftClick(Hwnd, 找字_intx+5, 找字_inty+5)
        //        Delay 50
        日志运行内容 = V_当前程序 & "B---------->点击文字:" & 字符串
        Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容          
        找字点击B = 1
    End If
End Function

Function 找多字B(字符串集,字号,点X1, 点Y1, 点X2, 点Y2)
    Dim I,返回值,字符串
    找多字B = 0
    找多字_intX = -1
    找多字_intY = -1
    字符串 = split(字符串集, "|")
    For i = 0 To ubound(字符串)
        返回值=找字B (字符串(i),字号,点X1, 点Y1, 点X2, 点Y2)
        If 返回值 > 0 Then 
            日志运行内容 =  V_当前程序&"找到:第" & cstr(i + 1) & "个字符:" & 字符串(i)
            Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容
            找多字_intX = 找字_intX
            找多字_intY = 找字_intY                
            找多字B=i+1
            Exit For
        End If
    Next
End Function

'----------------------以下为带句柄的后台找字-----------------------

Function 找字BC(句柄,字符串,字号,点X1, 点Y1, 点X2, 点Y2)
    //    后台找图
    Dim iZB, Xy
    XY = Plugin.Bkgnd.FindWordShape(句柄,clng(点X1), clng(点Y1), clng(点X2), clng(点Y2), 字符串, "", Cint(字号), 0,0.9)
    iZB = InStr(XY, "|")
    找字_intx=CLng(Left(XY, iZB - 1))
    找字_inty=CLng(Right(XY, Len(XY) - iZB)) 
    If 找字_intx >= 0 and 找字_inty >=0 Then 
        日志运行内容 = V_当前程序 & "C-------------->找到文字:" & 字符串&"("&找字_intx&","&找字_inty&")"
        Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容
        找字BC=1
    Else 
        日志运行内容 = V_当前程序 & "B未找到文字:" & 字符串
        Call Lib.通用.输出日志(日志运行内容) : TracePrint 日志运行内容
        找字BC=0          
    End If
End Function

Function 找字点击BC(句柄,字符串,字号,点X1, 点Y1, 点X2, 点Y2)
    Dim 返回值
    找字点击BC=0
    返回值= 找字C(句柄,字符串,字号,点X1, 点Y1, 点X2, 点Y2)
    If 返回值 > 0 Then 
        Call Plugin.Bkgnd.MoveTo(Hwnd, 找字_intx + 5, 找字_inty +5)
        Delay 50
        Call Plugin.Bkgnd.LeftClick(Hwnd, 找字_intx+5, 找字_inty+5)
        //        Delay 50
        日志运行内容 = V_当前程序 & "C---------->点击文字:" & 字符串
        Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容          
        找字点击BC = 1
    End If
End Function

Function 找多字BC(句柄,字符串集,字号,点X1, 点Y1, 点X2, 点Y2)
    Dim I,返回值,字符串
    找多字BC = 0
    找多字_intX = -1
    找多字_intY = -1
    字符串 = split(字符串集, "|")
    For i = 0 To ubound(字符串)
        返回值=找字BC(句柄,字符串(i),字号,点X1, 点Y1, 点X2, 点Y2)
        If 返回值 > 0 Then 
            日志运行内容 =  V_当前程序&"找到:第" & cstr(i + 1) & "个字符:" & 字符串(i)
            Call Lib.通用.输出日志(日志运行内容):TracePrint 日志运行内容
            找多字_intX = 找字_intX
            找多字_intY = 找字_intY                
            找多字BC=i+1
            Exit For
        End If
    Next
End Function

'---------------------------------------------

相关内容

热门资讯

还在点火?特朗普批准,美企或在... 美国《华尔街日报》7月22日报道,据美国官员透露,美国总统特朗普已正式批准与沙特阿拉伯达成一项具有里...
基本建成交通强国将取得决定性进... 新华社北京7月21日电 题:基本建成交通强国将取得决定性进展——国新办发布会聚焦“十五五”时期交通运...
台防务部门呼吁通过所谓无人机条... 7月22日上午,国台办举行例行新闻发布会。记者:据报道,台防务部门负责人近日称,呼吁通过行政部门无人...
英媒:为什么世界更相信中国而不... 当下西方世界深陷信任危机,民众对体制普遍失望愤怒。美国全球公信力持续崩塌,多国对华信任度已反超美国。...
“台青e家”平台上线运行,国台... 7月22日,国务院台办举行例行新闻发布会。有记者问:在海峡两岸青年文化月活动期间,国务院台办主任宋涛...
视频丨从“有学上”到“上好学”... 教育强国,基点在基础教育。我国拥有43万所中小学幼儿园、2.2亿在校生、1577万专任教师,建成了世...
“看到这几张脸生理性厌恶!”你... 近期,“对AI脸感到不适”相关话题接连冲上社交平台热搜。打开短视频平台刷微短剧,连续刷几部后,主角个...
今年上半年全国城镇新增就业69... 今天(22日)上午,人力资源社会保障部举行新闻发布会。今年上半年,全国城镇新增就业695万人,同比持...
委内瑞拉强震遇难人数升至534... 当地时间21日,委内瑞拉全国代表大会主席豪尔赫·罗德里格斯通过社交媒体通报,该国6月24日两次强震造...
高考684分花3000元咨询进... 潮新闻客户端 青年特约评论员 曾耀湘图源:视觉中国近日,据齐鲁晚报报道,河北一名2018级考生,因“...