Mercury.DeviceReplay对象实现鼠标、键盘模拟操作

news/2024/11/25 10:05:26/

这里介绍一下Mercury.DeviceReplay这个对象,来实现对鼠标、键盘的模拟操作,它是一个很实用的对象,但QTP帮助文档中对几乎没有此介绍。

这个对象用来模拟鼠标的单击和移动、键盘输入等,但有个前提,实用该对象前,需要保证键盘状态正确如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态。

 

1)创建DeviceReplay对象:

Set devReplay=CreateObject("Mercury.DeviceReplay")

 

2)Mercury.DeviceReplay包括如下方法:

1、SendString方法

向激活的窗口发送一个或多个键盘按键:object.SendString( str )

2、KeyDown方法

模一个按键的按下并保持:object.KeyDown( key )   key : 按键的数值码

3、KeyUp方法
模拟通过键盘释放某个按下的按键:object.KeyUp( key )

4、PressKey方法
模拟通过键盘按下一个按键并立即释放:object.PressKey( key )

5、PressNKeys方法
模拟通过键盘多次按下一个按键并立即释放:object.PressNKey( key, N )  N:重复次数

6、DragAndDrop方法
用于执行从一点拖动到另外一点的操作:object.DragAndDrop( dragX, dragY, dropX, dropY, Button )

Button 的值包括

LEFT_MOUSE_BUTTON = 0

MIDDLE_MOUSE_BUTTON = 1

RIGHT_MOUSE_BUTTON = 2

7、MouseClick方法
在指定的屏幕位置执行鼠标左键或右键的单击操作:object.MouseClick( x, y, Button )

8、MouseDbClick方法
在指定的屏幕位置中执行鼠标左键或右键的双击事件:object.MouseDblClick( x, y, Button )

9、MouseDown方法
在屏幕指定位置按下鼠标左键或右键,并保持按下状态:object.MouseDown( x, y, Button )

10、MouseUp方法
用于释放之前执行的MouseDown方法所按下的鼠标按键:object.MouseDown( x, y, Button )

11、MouseMove方法
用于模拟鼠标移动:object.MouseMove( x, y)

12、SetSynchronizationTimeout方法
设置一个新的同步超时的时间值:object. SetSynchronizationTimeout(nSyncTimeout , is_sec)
nSyncTimeout : 同步超时的时间值

is_sec : 指定设置的时间值是否以秒为单位

 

3)最后,记得释放DeviceReplay对象

Set devReplay =nothing

 

4)一个非常简单的鼠标单击的例子

Set devReplay=CreateObject("Mercury.DeviceReplay")
devReplay.MouseMove 650 , 160
devReplay.MouseClick 650,160,0
Set devReplay =nothing

 



 


http://www.ppmy.cn/news/515303.html

相关文章

mercury已断开服务器无响应,mercury无线网卡驱动插上没反应怎么办-插上没反应的解决办法...

原创mercury无线网卡驱动插上没反应怎么办-插上没反应的解决办法 编辑:小禾 来源:互联网 时间:2020-10-15 09:58:00 有的朋友在使用mercury无线网卡驱动时,发现插上没反应,该怎么办呢?那么下面小编就和大家一起分享mercury无线网卡驱动插上没反应的解决…

mercury已断开服务器无响应,Mercury水星无线路由器无法上网解决办法 | 192路由网...

本文解决的问题:电脑连接水星(mercury)无线路由器,并在水星无限路由器设置了上网账号,但是仍然不能够上网的问题。这个问题的原因比较多,下面来介绍一些常见的原因的引起的使用水星无限路由器无法上网的问题。 我们先来把问题细分化,先确定是水星无线路由器与宽带之间的问…

mercury php,XAMPP配置Mercury 邮件服务器教程

这在一些网站首发大量邮件的时候比较有作用,由Sendmail来接管通信过程,避免由PHP或Java网页文件本身来连接socket,占用资源1、启动 Mercury 邮件服务器 XAMPP 自带的邮件服务器名称是 Mercury。假设你已经启动了 Apache 和 MySQL,…

CreateObject(Mercury.DeviceReplay)中的键盘值

(1)在QTP中经常使用CreateObject(“Mercury.DeviceReplay”)来模拟鼠标以及键盘值的发送操作,那么在使用的过程中,键盘上的按键,在代码中对应的数值是多少呢? 图一 图二 图三 图四 图五 图六 图七 图八 …

mercury怎么设置虚拟服务器,XAMPP邮件服务器Mercury的设置方法

启动Apache和MySQL服务; 点击 Mercury 顶部菜单的“Configuration / MercuryS SMTP Server” ,在弹出的对话框上点击“Connection control”标签页,去掉“Do not permit SMTP relaying of non-local mail”这一项的勾选,然后点击“确定”; 点击 Mercury 顶部菜单的“Confi…

Redis 2023面试5题(四)

一、AOF 持久化(Append Only File)如何配置? AOF(Append Only File)持久化是 Redis 的一种持久化方式,它通过记录所有收到的写命令来保存数据。以下是一些关于如何配置 AOF 持久化的重要信息: …

C++20

目录 模块支持三向比较运算符基于范围for循环的初始化器指派初始化器constevalstd::bit_cast属性其他特性 模块支持 使用关键字import导入模块 三向比较运算符 <>&#xff0c;用于确定两个值的大小顺序。它可以告诉你一个值是否大于&#xff0c;等于&#xff0c;小于另…

Android studio的安装的详细过程

Android开发环境 Eclipse Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境&#xff0c;2001年11月贡献给开源社区&#xff0c;现在它由非营利软件供应商联盟Eclipse基金会&#xff08;Eclipse Foundation&#xff09;管理。 Eclipse是一种面…