自动化ui 保存max场景信息 结构化处理比较好用
struct gt_cl_hp_saveMaxinfo (
pathpp ="" ,
fn savemaxinfor =( DialogMonitorOPS.unRegisterNotification id:#gtMMOscenceEqualname
function callSummaryEqualname = (
---收集window句柄
windowHandle = DialogMonitorOPS.GetWindowHandle()
windowName = (UIAccessor.GetWindowText windowHandle) as String ----从窗口中找到我想要的窗口的按钮的名称
if (findstring windowName "save file as")!=undefined then (
---- 找到主窗口子控件的名称 chwindow = UIAccessor.GetChildWindows windowHandle
if chwindow !=undefined then (
for i in to chwindow.count do (
if (chwindow[i] !=) then (
kjName = (UIAccessor.GetWindowText (chwindow [i]) as String )
--- 保存配置 按下配置按钮
--print kjName
if kjName == "是(&Y)" then (
--UIAccessor.PressButtonByName WindowHandle kjName
--- 应该不错的话需要在一层监控
UIAccessor.PressButtonByName WindowHandle kjName
)
)
)
)
--print (UIAccessor.GetWindowText (chwindow [i]) as String
) false ) DialogMonitorOPS.unRegisterNotification id:#gtMMOscenceone
function callSummaryonw = (
---收集window句柄
windowHandle = DialogMonitorOPS.GetWindowHandle()
windowName = (UIAccessor.GetWindowText windowHandle) as String ----从窗口中找到我想要的窗口的按钮的名称
if (findstring windowName "Save File As")!=undefined then
(
---- 找到主窗口子控件的名称 chwindow = UIAccessor.GetChildWindows windowHandle
--print (windowName +"*****ceshi")
if chwindow !=undefined then (
for i in to chwindow.count do (
if (chwindow[i] !=) then (
kjName = (UIAccessor.GetWindowClassName chwindow[i])
--- 保存配置 按下配置按钮
--print kjName
findHandle =
if kjName == "ComboBoxEx32"then (
findHandle = chwindow[i]
---- 给手柄设置要保存的信息
savepath =pathpp ---+"\\maxinfo"
if (getDirectories savepath).count == then (
---没有路径创建路径
makeDir savepath
)
savepath += "\\"+ (getFilenameFile maxfilename)+".txt"
if findHandle != then (
UIAccessor.SetWindowText findHandle savepath
UIAccessor.PressButtonByName WindowHandle "保存(&S)" )
--- 应该不错的话需要在一层监控
---UIAccessor.PressButtonByName WindowHandle kjName
)
)
)
)
--print (UIAccessor.GetWindowText (chwindow [i]) as String
) false ---- 这里应该是最后不返回操作,可以继续的添加钩子 ) -----------------------------------------------------------------------
DialogMonitorOPS.unRegisterNotification id:#gtMMOscence function callSummary = (
---收集window句柄
windowHandle = DialogMonitorOPS.GetWindowHandle()
windowName = (UIAccessor.GetWindowText windowHandle) as String ----从窗口中找到我想要的窗口的按钮的名称
if (findstring windowName "summary Info")!=undefined then (
---- 找到主窗口子控件的名称 chwindow = UIAccessor.GetChildWindows windowHandle
if chwindow !=undefined then (
for i in to chwindow.count do (
if (chwindow[i] !=) then (
kjName = (UIAccessor.GetWindowText (chwindow [i]) as String )
--- 保存配置 按下配置按钮
if kjName == "Save to File..." then (
--UIAccessor.PressButtonByName WindowHandle kjName
--- 应该不错的话需要在一层监控
UIAccessor.PressButtonByName WindowHandle kjName
UIAccessor.PressButtonByName WindowHandle "Ok"
)
)
)
)
--print (UIAccessor.GetWindowText (chwindow [i]) as String ) true )
DialogMonitorOPS.RegisterNotification callSummaryonw id:#gtMMOscenceone
DialogMonitorOPS.RegisterNotification callSummaryEqualname id:#gtMMOscenceEqualname
DialogMonitorOPS.RegisterNotification callSummary id:#gtMMOscence DialogMonitorOPS.Enabled = true
max file summary DialogMonitorOPS.Enabled = false
DialogMonitorOPS.unRegisterNotification id:#gtMMOscence
DialogMonitorOPS.unRegisterNotification id:#gtMMOscenceone
DialogMonitorOPS.unRegisterNotification id:#gtMMOscenceEqualname
)
)---end struct op = gt_cl_hp_saveMaxinfo()
op.pathpp = "D:\pyc-tools\ms\\newdate\maxinfo"
op.savemaxinfor()
自动化ui 保存max场景信息 结构化处理比较好用的更多相关文章
- UI体系的本质是结构化存在
UI体系的本质是结构化存在: UI系统的问题需要使用结构化的思维来处理.
- 杂项:OASIS(结构化信息标准促进组织)
ylbtech-杂项:OASIS(结构化信息标准促进组织) 1.返回顶部 1. OASIS(结构化信息标准促进组织,Organization for the Advancement of Struct ...
- 探索ASP.Net Core 3.0系列六:ASP.NET Core 3.0新特性启动信息中的结构化日志
前言:在本文中,我将聊聊在ASP.NET Core 3.0中细小的变化——启动时记录消息的方式进行小的更改. 现在,ASP.NET Core不再将消息直接记录到控制台,而是正确使用了logging 基 ...
- Attention-based Extraction of Structured Information from Street View Imagery:基于注意力的街景图像提取结构化信息
基于注意力的街景图像提取结构化信息 一种用于真实图像文本提取问题的TensorFlow模型. 该文件夹包含在FSNS数据集数据集上训练新的注意OCR模型所需的代码,以在法国转录街道名称. 您还可以使用 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- [翻译] Cassandra 分布式结构化存储系统
Cassandra 分布式结构化存储系统 摘要 Cassandra 是一个分布式存储系统,用于管理分布在许多商品服务器上的大量结构化数据,同时提供无单点故障(no single point of fa ...
- 结构化您的Python工程
我们对于"结构化"的定义是您关注于怎样使您的项目最好地满足它的对象性,我们 需要去考虑如何更好地利用Python的特性来创造简洁.高效的代码.在实践层面, "结构化&qu ...
- DataPipeline丨瓜子二手车基于Kafka的结构化数据流
文 |彭超 瓜子大数据架构师 交流微信 | datapipeline2018 一.为什么选择Kafka 为什么选Kafka?鉴于庞大的数据量,需要将其做成分布式,这时需要将Q里面的数据分到许多机器 ...
- Asp.Net Core中利用Seq组件展示结构化日志功能
在一次.Net Core小项目的开发中,掌握的不够深入,对日志记录并没有好好利用,以至于一出现异常问题,都得跑动服务器上查看,那时一度怀疑自己肯定没学好,不然这一块日志不可能需要自己扒服务器日志来查看 ...
随机推荐
- LG5024 保卫王国
题意 题目描述 Z 国有\(n\)座城市,\(n - 1\)条双向道路,每条双向道路连接两座城市,且任意两座城市 都能通过若干条道路相互到达. Z 国的国防部长小 Z 要在城市中驻扎军队.驻扎军队需要 ...
- ES6必知必会 (七)—— Generator 函数
Generator 函数 1.Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同,通常有两个特征: function关键字与函数名之间有一个星号: 函数体内部使 ...
- HP-Mercury SiteScope安装及监控Weblogic操作
1.Mercury SiteScope简介Mercury SiteScope是一款无代理监测解决方案,可确保分布式IT基础架构——如服务器.操作系统.网络设备.网络服务.应用和应用组件的可用性和性能. ...
- PHP 通过实现 Iterator(迭代器)接口来读取大文件文本
读了NGINX的access日志,bnb_manage_access.log(31M) 和 bnb_wechat_access.log(50M) 附上代码: <?php /** * User: ...
- 【pc杂谈】win7系统通过虚拟网卡共享wifi
用管理员权限进入dos命令行 启用并设定虚拟WiFi网卡:netsh wlan set hostednetwork mode=allow ssid=paulnet key=paulwinflo(注意 ...
- postman-3http请求
http消息是服务器和客户端之间交换数据的方式. 有2种类型的消息: 请求:由客户端发送用来触发服务器的动作. 响应:来自服务器的应答. https://developer.mozilla.org/z ...
- 10-28质量监控ELK
监控业务范围 app崩溃监控(Bugly) 应用性能监控(APM) 业务监控(TalkingData.友盟) 质量监控(缺位) 质量监控平台ELK elk官网 数据构造 线上错误状态分布 故障影响范围 ...
- TCL数据类型
原始数据类型在Tcl中是字符串,我们常常可以找到字符串和引用在Tcl语言中.这些原始数据类型依次创建复合数据类型列表和关联数组.在Tcl中,数据类型可以表示不仅是简单Tcl的对象,但也可以代表相同的句 ...
- win10开启开发人员模式
工具: win10 方法如下: 1.在Windows10系统桌面,点击开始菜单,然后在弹出窗口中选择“设置”菜单项 2.在打开的设置窗口中,选择“更新和安全”图标,并点击打开更新和安全窗口 3.在打开 ...
- 4_bootstrap之栅格系统
4.栅格系统 4.1.简述栅格系统 为了方便在布局容器中进行网页的布局操作. BootStrap提供了一套专门用于响应式开发布局的栅格系统. 栅格系统将一行分为12列,通过设定元素占用的列数来 布局元 ...