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

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

相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...