|

因为最近要用自绘窗口的获取消息问题,但是目前自绘窗口_解析没有层级搜索的关系,所以自己写一个自绘窗口的Accessible定位。
不多bb,直接上代码吧
|
自绘窗口_Accessible定位 | 类_Accessible | | |
Accessible | 类_Accessible | | | | 表达式 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 子表达式 | 文本型 | | 0 | i | 整数型 | | | command | 文本型 | | | opertor | 文本型 | | | childcount | 整数型 | | | Accessibles | 类_Accessible | | 0 | j | 整数型 | | | found | 逻辑型 | | |
计次循环首 (文本_分割文本 (表达式, “>”, , 子表达式 ), i ) opertor = 取文本左边 (子表达式 [i ], 1 ) command = 取文本右边 (子表达式 [i ], 取文本长度 (子表达式 [i ]) - 1 ) childcount = Accessible. 枚举子元素 (Accessibles ) 判断 (opertor = “#”)  如果 (到整数 (command ) > childcount )  返回 (Accessible )   Accessible = Accessibles [到整数 (command )]    判断 (opertor = “?”)  found = 假   计次循环首 (childcount, j )   如果真 (内部_解析命令 (command, Accessibles [j ]))     Accessible = Accessibles [j ]    found = 真    跳出循环 ()      计次循环尾 ()  如果真 (found = 假)  返回 (Accessible )         计次循环尾 ()返回 (Accessible )|
内部_解析命令 | 逻辑型 | | |
command | 文本型 | | | | Accessible | 类_Accessible | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | k | 整数型 | | | equal | 文本型 | | 0 | contain | 文本型 | | 0 | 详细信息 | 精易_详细信息 | | | child_commands | 文本型 | | 0 |
详细信息 = 自绘窗口_格式化信息 (Accessible )child_commands = 分割文本 (command, “&”, ) 计次循环首 (取数组成员数 (child_commands ), k ) 判断 (寻找文本 (child_commands [k ], “==”, , 假) ≠ -1 )  equal = 分割文本 (child_commands [k ], “==”, )  判断 (equal [1 ] = “n”)   如果真 (详细信息.控件名称 ≠ equal [2 ])   返回 (假)      判断 (equal [1 ] = “s”)   如果真 (详细信息.控件状态 ≠ equal [2 ])   返回 (假)      判断 (equal [1 ] = “t”)   如果真 (详细信息.控件类型 ≠ equal [2 ])   返回 (假)      判断 (equal [1 ] = “id”)   如果真 (详细信息.控件ID ≠ equal [2 ])   返回 (假)      判断 (equal [1 ] = “v”)   如果真 (详细信息.控件值 ≠ equal [2 ])   返回 (假)              判断 (寻找文本 (child_commands [k ], “=”, , 假) ≠ -1 )  contain = 分割文本 (child_commands [k ], “=”, )  判断 (contain [1 ] = “n”)   如果真 (寻找文本 (详细信息.控件名称, contain [2 ], , 假) = -1 )   返回 (假)      判断 (contain [1 ] = “s”)   如果真 (寻找文本 (详细信息.控件状态, contain [2 ], , 假) = -1 )   返回 (假)      判断 (contain [1 ] = “t”)   如果真 (寻找文本 (详细信息.控件类型, contain [2 ], , 假) = -1 )   返回 (假)      判断 (contain [1 ] = “id”)   如果真 (寻找文本 (详细信息.控件ID, contain [2 ], , 假) = -1 )   返回 (假)      判断 (contain [1 ] = “v”)   如果真 (寻找文本 (详细信息.控件值, contain [2 ], , 假) = -1 )   返回 (假)                   计次循环尾 ()返回 (真)
使用演示:
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_句柄 | 整数型 | | | Accessible | 类_Accessible | | | 定位后Accessible | 类_Accessible | | | 详细信息 | 精易_详细信息 | | |
局_句柄 = 窗口_取句柄 (, , “ChatWnd”, 编辑框1.内容 )Accessible. 创建自窗口句柄 (局_句柄 )定位后Accessible = 自绘窗口_Accessible定位 (Accessible, “?t==客户端&s==正常>#1>#1>#2>#1>#1>#2>#1>#1”)详细信息 = 自绘窗口_格式化信息 (定位后Accessible )调试输出 (详细信息.控件名称, 详细信息.控件状态, 详细信息.控件类型, 定位后Accessible. 取子元素总数 ())
|
评分
-
查看全部评分
|