jacksboy 发表于 2009-2-17 19:32:10

mercury.devicereplay下的方法怎么用

mercury.devicereplay下的pressnKey方法怎么用。

比如我想录这个操作:(鼠标右击开始,在弹出的选项中选择属性)

Window("Window").WinButton("开始").Click 0, 0, micRightBtn

‘用MERCURY.DEVICEREPLAY怎么录选取属性的操作。

Dim DevRep

set DevRep=CreateobJECT("MERCURY.DeviceReplay")
wait 1

DevRep.PressNKeys "38",3

DevRep.PressKey "108"

pressNKeys 是模拟连续按下一个KEY的操作,这里写的38是micup的VBCODE,循环三次

然后presskey是模拟按下一个按键的操作,108是ENTER的VBCODE,

为什么我这样做没有任何反应。直接运行就退出了也不报错。谢谢

[ 本帖最后由 jacksboy 于 2009-2-17 19:43 编辑 ]

asoqa 发表于 2009-2-18 12:04:27

http://www.51testing.com/?161787/action_viewspace_itemid_84200.html

jacksboy 发表于 2009-2-18 13:28:55

我就是看了这类似的文章。可很多方法用起来还是无法实现阿

asoqa 发表于 2009-2-18 15:04:27

首先解答你的问题。向下箭头的VK码是80,回车的VK码是28,因此代码需要改成:DevRep.PressNKeys "80",3
DevRep.PressKey "28"
注意:在这个时候,要关闭数字键盘,否则会引起冲突,仍然无法回放成功。

其次提几个替代解决方案完成你想要的功能:
1.可以用DevRep.SendString "r"
2.可以用DevRep.PressKey "19"
'因为r的vk码是19

asoqa 发表于 2009-2-18 15:05:44

给你个VK码的地址
http://www.advancedqtp.com/knowledge-base/articles/qtp-tricks4/the-undocumented-devicereplay/

jacksboy 发表于 2009-2-18 16:00:54

嗯,多谢,能够实现,我还想问下,
这些VK码是怎么定义的啊。
比如这个向下的箭头是80,在这篇文章里是用
Const VK_NUMPAD2 = 80来表示的,你怎么知道这是代表向下的箭头呢。

asoqa 发表于 2009-2-18 17:56:05

汗!文章的最后有个表格,表格中明确写了
VK_DOWN 80 Down arroy key.
页: [1]
查看完整版本: mercury.devicereplay下的方法怎么用