自动化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小项目的开发中,掌握的不够深入,对日志记录并没有好好利用,以至于一出现异常问题,都得跑动服务器上查看,那时一度怀疑自己肯定没学好,不然这一块日志不可能需要自己扒服务器日志来查看 ...
随机推荐
- hdu 3613 Best Reward
After an uphill battle, General Li won a great victory. Now the head of state decide to reward him w ...
- BZOJ3732: Network(Kruskal重构树)
题意 Link 给出一张$n$个点的无向图,每次询问两点之间边权最大值最小的路径 $n \leqslant 15000, m \leqslant 30000, k \leqslant 20000$ S ...
- 【转载】python安装numpy和pandas
转载:原文地址 http://www.cnblogs.com/lxmhhy/p/6029465.html 最近要对一系列数据做同比比较,需要用到numpy和pandas来计算,不过使用python安装 ...
- ambassador 学习二 认证
ambassador 可以在请求路由之前进行认证处理,一般的我们可能会使用第三方的认证服务 基本的环境安装可以参考相关文档 安装&&运行qotm 服务 可以参考官方文档,或者https ...
- Java 的Integer、int与new Integer到底怎么回事?
先做一些总结,询问了些经验比较多的师傅,在这里表示感谢,然后自己总结下,今天的收获分享给大家: 1. int 和Integer在进行比较的时候,Integer会进行拆箱,转为int值与int进行比较. ...
- hadoop深入研究:(十三)——序列化框架
hadoop深入研究:(十三)--序列化框架 Mapreduce之序列化框架(转自http://blog.csdn.net/lastsweetop/article/details/9376495) 框 ...
- [转][C#]压缩解压缩类 GZipStream
本文来自:https://msdn.microsoft.com/zh-cn/library/system.io.compression.gzipstream(v=vs.100).aspx using ...
- [转]MVC 经验总结_EF
&& o.Name != "") .OrderByDescending(o => o.ID) .OrderBy(o => o.Name) .Select ...
- window server2008 r2 限制远程访问用户数量
在服务器端设置 修改组策略 1,开始-运行-gpedit.msc-计算机配置-管理模板-Windows组件-远程桌面服务-远程桌面会话主机-限制连接数量-开启并改为1
- Back to CNBLOG
突然发现自己很久都没有写过博客了,感觉有点愧对程序员这个称号... 任重道远,要做的东西很多,越来发现,坚持是最难的,例如写博客. 但起码有有个开始,要有个开始去分享自己的经历,去让别人也知道,你是怎 ...