51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3242|回复: 14
打印 上一主题 下一主题

[原创] 如何录制系统托盘处的右键菜单?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-19 17:01:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在系统托盘处,对着某个图标点右键,录不上呀,请问怎么才能录上,有人知道吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-3-19 17:19:39 | 只看该作者
我所知道的这个是不能录制的...

期待高见...
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-3-19 18:16:06 | 只看该作者

找到办法了,必须用代码,如下:

Dim cItems,aa
cItems=Window("Window").WinToolbar("通知区域").GetItemsCount
For i=1 to cItems
aa=Window("Window").WinToolbar("通知区域").GetItemProperty(i,"name")
If  aa = "网易POPO (涯(xiaohui))" Then
Window("Window").WinToolbar("通知区域").Press i,   micRightBtn
End If
Next
Dialog("个人信息").WinObject("AfxWnd42").Click 82,61
Dialog("个人信息").WinButton("关闭").Click
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-3-19 18:35:21 | 只看该作者

还是不行呀,接下来的右健菜单不知道怎么取了?

右健菜单不知道怎么取了
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-3-19 18:44:17 | 只看该作者
真是个好办法啊,请问执行了右键单击动作后,如何录制在弹出右键菜单上选择某一项内容并单击鼠标左键呢,期望大家的回复,谢谢:)
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-5-6 00:12:17 | 只看该作者
同问
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-5-6 01:22:01 | 只看该作者
楼主参考下
http://softtest.chinaitlab.com/hangyei/723159_2.html

QTP 有 CreateObject("Mercury.DeviceReplay") 以及 KeyDown ,主动发消息给活动窗口
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-5-6 09:52:27 | 只看该作者
论坛中早已经讨论过如何录制鼠标右键窗口操作,搜索下老帖就知道了,大致方法就是用wsh.Sendkeys方法
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-5-6 10:21:58 | 只看该作者
参照下面函数
Sub RightClickObj(Obj, Offset_x, Offset_y)

       x_coord = Obj.GetROProperty("abs_x")

       y_coord = Obj.GetROProperty("abs_y")

       Set dr = CreateObject("Mercury.DeviceReplay")

       dr.MouseClick x_coord + Offset_x, y_coord + Offset_y, 2

End Sub
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-5-6 11:28:30 | 只看该作者
楼上的达人指点一下吧。不明白怎么得到右键菜单的x,y值能
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2008-5-6 12:56:20 | 只看该作者
举个具体的实例吧,下面代码的作用就是右键点击右下角系统托盘处名为"Maxthon"的图标,然后通过键盘操作选到"退出(X)"并回车,执行退出Mathon的操作,代码如下:
For i=1 to Window("Window").WinToolbar("通知区域").GetItemsCount
        if "Maxthon" = Window("Window").WinToolbar("通知区域").GetItemProperty(i, "name") then
        Window("Window").WinToolbar("通知区域").Press i,micRightBtn
        Exit for
        end if
Next
Set wsh=createobject("WScript.Shell")
wsh.sendkeys("{UP}~")
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2008-5-6 14:09:34 | 只看该作者
谢谢hsjzfling,这个方法真的很好用.
不过wsh应该放在循环的里面.
我在循环外边写了msgbox发现在循环外边得到的i指向的name就不是Maxthon了
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2008-5-6 14:54:37 | 只看该作者
还有个问题想情况.
用wsh.sendkeys("{UP}~")
可以在菜单中用键盘向上指向一个菜单,第一个菜单选项就是退出,如果我想选择的是退出菜单项上面的一个选项呢.
用一个语句可以操作么,还是要用两个来实现操作呢.
wsh.sendkeys("{UP}")
wsh.sendkeys("{UP}~")
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2008-5-6 16:52:00 | 只看该作者
强烈建议楼上的自己动手试试,这样得出来得结论才能印象深刻...
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2008-5-7 09:16:07 | 只看该作者
楼上批评的及是。向楼上的学习。
我刚才试了试这样写wsh.sendkeys("{UP}{UP}~")这样写wsh.sendkeys("{UP}")
wsh.sendkeys("{UP}~")都行。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-27 00:26 , Processed in 0.075947 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表