Q语言 我的命令库《通用找图》之后台找字函数源码
'=====================找字命令===============================
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
'---------------------------------------------
- C语言基础:数组作为函数参数传递演示源码
- CCApplicationProtocol(以下纯虚:应用开始函数applicationDidFinishLauncing-负责初始化导演场景、应用进入后台、前台函数、帧数设置函数、得到当前语言、平台
- 第二周 项目1—C/C++语言中函数参数传递的三种方式
- C语言文件操作函数大全
- C程序设计语言(二)流控制,函数与程序结构
- Layer相关的一些函数总结(VB.Net源码)
- 易语言获取外网ip源码
- 前台js调用后台函数返回值赋给前台控制属性值
- 多项式拟合函数polyfit之C语言的源码
- C 语言main 函数终极探秘(&& 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行)
- 为何C语言(的函数调用)需要堆栈,而汇编语言却不需要?
- .net中前台javascript与后台c#函数相互调用问题
- epoll源码分析---sys_epoll_wait()函数 http://blog.csdn.net/hbhhww/article/details/7746638
- 工作问题积累(二十四)虚函数之进一步理解,结合汇编语言
- 黑马程序员——C语言基础学习(三)---进制和函数的总结学习
- C/C++语言中如何使用宏打印行号、文件名和函数名
- jQuery源码分析-构造jQuery对象-源码结构和核心函数
- Go语言fmt库的print函数源码解析
- C 语言函数调用