主页 > CDN > > 正文

轻量服务器_zarchiver怎么解压百度云_怎么样

浏览:

轻量服务器_zarchiver怎么解压百度云_怎么样

这是

使用Microsoft Powershell脚本自动化PowerDesigner-第一部分的继续

在本文中,我们将讨论如何使用Microsoft UI自动化自动化PowerDesigner GUI。

我使用的是64位Windows 7环境。PowerDesigner是16.5.5 64位的

准备

首先,我们需要获得UI自动化程序集和一些工具

如果您没有安装适用于Windows 7和.NET Framework 4或4.5的Microsoft Windows SDK,点击链接:

从Microsoft官方下载中心下载适用于Windows 7和.NET Framework 4的Microsoft Windows SDK

安装SDK后,请转到"开始"->"所有程序"->"Microsoft SDK v7.0"->"工具"。我们将使用

Microsoft Inspect Tool

获取GUI自动化信息。此外,我们将使用以下程序集:

UIAutomationClient.dll

UIAutomationTypes.dll

WindowsBase.dll

文件可以在

C:\Program files(x86)\Reference Assemblies\Microsoft\Framework\.NETFramework找到。

我使用.Net Framework 4.5进行测试。

其次,我们将使用Windows PowerShell ISE作为主编辑器。

要启动编辑器,请单击"开始"按钮。在"搜索程序和文件"中,键入

Windows PowerShell ISE并点击Return。

注意:我只在64位PowerShell ISE上测试我的代码。

最后,让我们熟悉几个UI自动化组件。

系统.Windows.Automation包含所有自动化API和定义

系统.Windows.Automation.AutomationElement定义一个窗口对象

系统.Windows.Automation.ControlType定义控件对象类型。示例:窗口、按钮、窗格

系统.Windows.Automation.PropertyCondition存储要应用于对象的条件。

系统.Windows.Automation.AndCondition你有两个条件,你希望它们都是真的系统.Windows.Automation或者条件你有两个条件,企业应用开发平台,你希望其中一个是真的系统.Windows.Automation.TreeScope使用此结构定义如何查找对象。

获得实际体验

启动PowerShell ISE。单击"文件"->"新建"打开一个新文件。

复制并粘贴以下代码,然后单击"运行"

添加类型-路径"C:\Program Files(x86)\Reference Assemblys\Microsoft\Framework\.NETFramework\v4.5"\UIAutomationClient.dll"

添加类型-路径"C:\Program Files(x86)\Reference程序集\Microsoft\Framework\.NETFramework\v4.5\UIAutomationTypes.dll"

$PowerDesigner=新对象-com"powerdesigner.application应用程序

启动休眠-秒4

#以下代码搜索标题为PowerDesigner的窗口

$title='PowerDesigner'

#声明控件类型为窗

$型=[系统.Windows.Automation.ControlType]::窗口

#为了使用控件类型窗口,我们需要设置控件类型属性

$controlProperty=[系统.Windows.Automation.AutomationElement]::ControlTypeProperty

#要查找名称PowerDesigner,我们需要设置name属性

$nameProperty=[系统.Windows.Automation.AutomationElement]::NameProperty

#以窗口作为搜索对象创建条件

$typeCondition=新对象系统.Windows.Automation.PropertyCondition$控制属性,企业信息化应用系统,$type

#用name(PowerDesigner)作为搜索对象创建另一个条件

$nameCondition=new object系统.Windows.Automation.property条件$nameProperty,$title

#创建和条件。使namecodition和typecodition都为true

$andCondition=new object系统.Windows.Automation.AndCondition$typeCondition,$nameCondition

#定义如何搜索指定的对象。您可以使用子代、子代、子树

$子代=[系统.Windows.Automation.TreeScope]::子体

#在UI自动化中,窗口是根对象。必须使用根元素来查找窗口对象

#下面的代码表示查找第一个对象,它是一个窗口,名称是PowerDesigner

$handle=[系统.Windows.Automation.AutomationElement]::RootElement.FindFirst文件($descents,贵州大数据,$andCondition)

#下面的代码与上面的非常相似。它定义了两个属性。一个用于菜单,另一个用于菜单名文件

#然后使用上面的$handle查找正确的对象。$title='File'

$type=[系统.Windows.Automation.ControlType]::菜单项

$controlProperty=[系统.Windows.Automation.AutomationElement]::ControlTypeProperty

$nameProperty=[系统.Windows.Automation.AutomationElement]::NameProperty

$typeCondition=新对象系统.Windows.Automation.PropertyCondition$controlProperty,物联网协议,$type

$nameCondition=新对象系统.Windows.Automation.PropertyCondition$nameProperty,$title

$andCondition=新对象系统.Windows.Automation.AndCondition$类型条件,$nameCondition

$后代=[系统.Windows.Automation.TreeScope]::后代

#重要。

#使用我们从上面得到的窗口句柄来查找菜单

$menu=$handle.FindFirst文件($后代,$andCondition)

$模式=[系统.Windows.Automation.ExpandCollapsePattern]::图案

#名为File$menu的单击菜单=$菜单.GetCurrentPattern($模式)$菜单.展开()

代码启动PowerDesigner,模拟鼠标点击菜单文件。

仔细看代码,大数据运维,它由两个块组成,从$title=…到$substands=…

每个块显示UI自动化如何处理特定的GUI对象。

对于那些不熟悉PowerShell脚本的人,我将演示如何将C#或Visual Basic代码

嵌入PowerShell脚本。实际上,大多数开发人员都采用这种方法。

在PowerShell ISE中运行C#或Visual Basic

PowerShell可以动态运行C#或Visual Basic代码。下面是C#

$source=@'using System;using中的一个示例系统IO;

namespace PD{

public static class Epoch{public static void HelloWorld(){控制台写入线("你好世界");}}}

'@Add Type-TypeDefinition$源语言'CSharp'

[PD.时代]::HelloWorld()

这是Visual Basic中的等效代码:

$source=@'

Imports System

Imports系统IO

命名空间PD

公共类Epoch

公共共享子HelloWorld()

控制台写入线("你好世界")

结束子

结束类

结束名称空间

'@

添加类型-类型定义$source-语言'VisualBasic'

[PD.时代]::HelloWorld()

在Powershell ISE中运行代码:

获取自动化对象信息

自动化过程需要知道GUI对象的名称或ID(在UI自动化中,称为自动ID)。

检查对象提供此信息。

单击开始按钮。进入"所有程序"->"Microsoft Windows SDK v7.0"->"工具"->"检查对象"。

当应用程序启动时,在下拉列表中选择"UI自动化"。

启动Powerdesigner。鼠标悬停在GUI上。检查对象显示对象属性的详细信息。请参见下面的屏幕截图。

Name和AutomationId的值将在我们的编码中经常使用。

开发一个应用程序

我在本文中给出了两个示例。

代码在powershell脚本中_test.txt.zip文件,附在底部。

下载后解压文件。它创建powershellscript_测试.txt.

重命名powershellscript_测试.txt到powershellscript_测试.zip

解压文件

。UIautomationLibrary.ps1版本包含可用于访问许多Windows GUI对象的C#库。

第一个示例是反向工程数据库。

打开反转ps1. 修改DBMS,数据库帐户。如果您不确定DBMS名称是什么,请转到

文件->逆向工程->数据库。单击DBMS下拉列表。写下名称。

关闭Powerdesigner实例(如果有)。

启动PowerShell ISE。执行UIautomationLibrary.ps1版本.执行反转ps1

备注:应用程序一直使用find和findById函数来获取GUI对象句柄。

两个函数中第二个参数的值都可以从Inspect Objects中获取。

InvokeButton等函数模仿鼠标点击按钮。所有这些函数都属于名称空间PD下的

Robot类。类的定义在UIautomationLibrary.ps1版本

第二个例子是将LDM转换为PDM。

它创建一个空PDM。打开给定的LDM。然后模拟鼠标点击工具->生成物理数据模型…

执行适当的预转换。生成一个全新的PDM.

然后执行适当的后转换来重命名PDM中的外键。

找到一个文件夹来存储以下文件:

项目.ldm

PDMtest.xem文件

LDM测试.xem

打开ldm2产品数据管理.ps1。修改变量$workingPlace,使其指向正确的位置。

执行UIautomationLibrary.ps1版本如果你还没做。

执行ldm2型产品数据管理.ps1

备注:系统.windows.Forms.SendKeys属于Windows.Net窗体。它模仿键盘输入。

SetFocus()和leftClick()不是UIAutomation的一部分。它们继承自user32.dll

Send MailMessage,一个非常有用的powershell函数。

LDM测试.xem在实体级别创建名为ALIAS的扩展属性。我们为每个

实体分配别名并将其存储在alias中。例如,我们有一个名为Customer的实体,它的别名是CUST.

然后我们运行pre-transformation collectAliasFromLdm。它以

e格式为实体名称添加别名实体名称:别名(示例:客户:CUST)

PDM生成后,PDMtest.xem文件将运行转换后的RenameFK从表名字段中查找别名。

并使用别名生成外键名。下面的屏幕截图显示了最终结果:

使用第三方产品

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 谷歌云_mysql中间件_免费领
    谷歌云_mysql中间件_免费领

    谷歌云_mysql中间件_免费领

    现在工作场所正在发生重大变化。我们协作、计划项目和管理工作量的方式正在改变,如果企业没有做好准备,它们将很快被抛在后面。准确地理解是什么...

  • 域名交易_阿里云翼_企业级
    域名交易_阿里云翼_企业级

    域名交易_阿里云翼_企业级

    通常认为搅动器是一个漏水的桶。你有多少顾客?你损失了多少?你留了多少钱,漏了多少钱?让我们把顾客流失看作是导致医生就诊的原因,比如偏头痛...

  • 金山云_华为云台_怎么申请
    <strong>金山云_华为云台_怎么申请</strong>

    金山云_华为云台_怎么申请

    在我们发布通知(以前是Engage)后的四个月里,我们在后端做了大量的改进。大多数更新在UI中不可见。相反,我们的客户可能已经注意到他们发送的电子...

  • 云主机_深圳企业网站设计_评分榜
    <strong>云主机_深圳企业网站设计_评分榜</strong>

    云主机_深圳企业网站设计_评分榜

    更新:有本文的更新版本。阅读"RPA如何转换数据迁移"(2019年出版)。 在本文中,数据迁移被定义为将数据从旧的遗留系统移动到新的替换系统。通常,...

  • 域名备案_已备案未注册的域名_最新活动
    <strong>域名备案_已备案未注册的域名_最新活动</strong>

    域名备案_已备案未注册的域名_最新活动

    今天是Skype推出十年来的日子,Skype是一款免费的互联网通话应用,用户已超过3亿。Skype是一家来自爱沙尼亚的初创公司,来自点对点文件共享应用Kazaa的开...

云储存

更多 >
  • <strong>数据库_电脑怎么连接云服务器_代金券</strong>
    数据库_电脑怎么连接云服务器_代金券

    本周早些时候,我对拉尔夫·纳德(ralphnader)关于自动驾驶汽车的评论表示异议。纳德先生说,他们是下一个"高速公路上的危险"。他的立场是,无人驾驶...

  • <strong>香港带宽_青海企业网站建设_新注册优惠</strong>
    香港带宽_青海企业网站建设_新注册优惠

    如果你曾经住院过,你就会知道护理人员会定期到你的床边进行一系列常规观察——通常是每小时一次。这些通常包括测量和记录你的血压、体温、心率和...

云储存谷歌云_wps百度云_排行榜
云储存金山云_锁链战记数据库_限时特惠
云储存大带宽_云服务器建网站_年度促销
云储存数据库服务器_剑灵无法连接服务器_最新
云储存企业网站_数据库sql_优惠券