自动化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小项目的开发中,掌握的不够深入,对日志记录并没有好好利用,以至于一出现异常问题,都得跑动服务器上查看,那时一度怀疑自己肯定没学好,不然这一块日志不可能需要自己扒服务器日志来查看 ...
随机推荐
- PyCharm永久激活
目录 windws Mac Windows下破解 激活前准备工作 激活前请先关闭pycharm 修改配置文件的时候你需要填写你的安装路径 如果出现修改配置文件后无法打开pycharm,那就移动补丁的位 ...
- php如何获取服务器所在的时区
//获取默认时区echo date_default_timezone_get(); //将时区设置为中国date_default_timezone_set("PRC"); //将时 ...
- 解决yum 不能更新问题 :yum 报错Loaded plugins: fastestmirror, refresh-packagekit, security
2018-07-02 21:43:13 Yum报错 [root@db yum.repos.d]# yum makecache Loaded plugins: fastestmirror, ...
- linux Posix 信号量 三 (经典例子)
本文将阐述一下信号量的作用及经典例子,当中包括“<越狱>寄信”,“家庭吃水果”,“五子棋”,“接力赛跑”,“读者写者”,“四方恋爱”等 首先,讲 semWait操作(P操作)和semSig ...
- C# 播放器, 收藏
C#写了一个调用libvlc api实现的万能视频播放器 http://www.cnblogs.com/haibindev/archive/2011/12/21/2296173.html 引用库 ht ...
- HDU 4004 The Frog's Games(二分+小思维+用到了lower_bound)
The Frog's Games Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others) ...
- 接口测试“八重天”---HttpClient
HTTP协议在互联网无处不在,在前面的章节中记录了‘接口本质即协议’,因此,接口测试首先了解的便是协议,其发送数据包和接收数据包的过程,其次便是如何在测试中去发送去解析,不论是通过代码还是工具也好,抽 ...
- 管理Linux服务器的用户和组
管理Linux服务器的用户和组 Linux操作系统是一个多用户多任务的操作系统,允许多个用户同时登录到系统,使用系统资源. 为了使所有用户的工作顺利进行,保护每个用户的文件和进程,规范每个用户的权限, ...
- CCproxy 设置代理服务器。
CCproxy 设置代理服务器. 通过代理服务器上网,出口IP就固定成代理服务器的IP 设置安装比较简单,直接去ccproxy官网下载就行 如果服务器是公网服务器,记得在设置,高级里面的网络中,把禁止 ...
- Struts2单例和多例
struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的属性不一样,操作得出的结 ...