[转载]鼠标点击桌面任意坐标的问题,顺便介绍下Mercury.DeviceReplay这个对象

上一篇 / 下一篇  2008-12-31 10:25:53 / 个人分类:QTP


一朋友问到如何实现鼠标点击桌面上任意指定的坐标的问题,呵呵

不复杂,呵呵

可以两种方法实现:

1、QTP采用低级别录制,然后坐标用随机数替代

2、创建一个DeviceReplay对象进行操作

Function Mouse_Click(x , y)

 Dim device 

 Set device = CreateObject("Mercury.DeviceReplay")
 device.MouseMove x , y

device.MouseClick x , y , LEFT_MOUSE_BUTTON
End Function

既然写了这个方法,顺便就介绍下Mercury.DeviceReplay这个对象,呵呵

很实用的一个对象,不知道为啥QTP的帮助几乎就没有它的介绍

这个对象用来模拟鼠标的单击和移动、键盘输入等,但有个前提,实用该对象前,需要保证键盘状态正确

如NUMLOCK是否打开等,因为DeviceReplay不能检测键盘状态

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 : 指定设置的时间值是否以秒为单位


TAG: QTP DeviceReplay 鼠标操作

 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 6828
  • 日志数: 10
  • 建立时间: 2008-12-31
  • 更新时间: 2009-04-14

RSS订阅

Open Toolbar