51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9303|回复: 12
打印 上一主题 下一主题

[原创] 原创小工具,利用MSAA技术,获取鼠标指定位置的窗口或窗口子项的基本信息

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-10-26 13:17:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
自做小工具,类似spy++部分的鼠标获取指定对象的功能。
此工具与spy++相比,可获得对象的粒度更小,可以取得最小窗体内的所有子项。例如TreeView控件中的每个节点的基本信息!
同时还可读取密码框内的密码信息!
如果大家有兴趣,可以试用并提出宝贵意见!
我准备桌一套简单的UI测试用工具,这个小工具算是项目的启动吧!
目前此版本支持:
WinXP, Win2000或以上
IE 6.0
谢谢大家支持!!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

13#
发表于 2011-11-20 16:51:51 | 只看该作者
谢谢分享!!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2011-6-15 13:45:46 | 只看该作者
[零食特产篇]销售最火爆的零食特产店www.taoyj.cn/sub/meishi.htm
[男人穿戴篇]68强之男人穿戴大世界www.taoyj.cn/sub/nanzhuang.htm
[男人精品篇]网精品店铺之男人篇www.taoyj.cn/sub/nanren.htm
[女装皇冠篇]女装女鞋88强www.taoyj.cn/sub/nvzhuang.htm

[女装钻石篇]女装精品店铺50家www.taoyj.cn/sub/zuanshi.htm
[妈咪宝贝篇]妈咪宝贝60强www.taoyj.cn/sub/mami.htm
 
[男女箱包篇]皇冠店铺之美包篇www.taoyj.cn/sub/paopao.htm
 
[美容护肤篇]86强店铺之美容彩妆护肤篇www.taoyj.cn/sub/meirong.htm

[手机数码篇]网40强店铺之流行数码篇+手机www.taoyj.cn/sub/shuma.htm

[家居床品篇]床上用品布艺类店铺分析www.taoyj.cn/sub/chuangpin.htm
[时尚家饰篇]时尚家饰/十字绣/礼品类精品店铺分类汇总www.taoyj.cn/sub/jiashi.htm
[宠物专题篇]40强店铺之宠物粮食用品类精品店铺大全www.taoyj.cn/sub/chongwu.htm
[户外运动篇]精品皇冠店铺之户外运动专题篇www.taoyj.cn/sub/huwai.htm
[汽车用品篇]30强店铺之汽车用品篇www.taoyj.cn/sub/car.htm
[流行饰品篇]网流行饰品之超级卖家库www.taoyj.cn/sub/shoushi.htm
[居家日用篇]居家日用/厨卫用品/五金类店铺分类汇总www.taoyj.cn/sub/chuwei.htm
 
[完美搭配篇]精品配件店铺(帽子-太阳镜-丝巾-皮带-饰品-鞋垫)www.taoyj.cn/sub/peijian.htm
[吃喝游乐篇]精品店铺之吃喝玩乐旅游篇(票务中心+食品折扣券)www.taoyj.cn/sub/chihe.htm
【100家最牛的好店】www.taoyj.cn/sub/top100.htm
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-6-14 00:17:12 | 只看该作者
很实用,请问楼主用的是什么语言写的?
能否公布源代码?呵呵,有点痴心妄想哈
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-7-31 11:32:38 | 只看该作者

回复 1# 的帖子

请教楼主一个问题。

下面是我使用c#代码,捕获aa的例子。结果一直是捕获不出来,可否指点一下,是什么原因。你的那个小工具,写的很好,超稳定。
这是一个捕获遨游工具栏的程序。

问题
1、        IntPtr hwnd2 = FindWindowEx(hWnd, IntPtr.Zero, "XTPToolBar", "标准工具栏");
这个函数返回了空值。不明白为什么。遨游浏览器里有很多的XTPToolBar,所以我才加入了标题。

2、        我尝试了其他的控件,比如火狐浏览器的控件。
在找到子窗口对应的aa后,调用
            AccessibleChildren(accessible, 0, accessible.accChildCount - 1, childs, out obtained);
竟然不能得到他们的子对象。即使父对象里显示有多个子对象。得到的childs是空的数组。


public static void msaa()
        {
            object obj = new object();
            IntPtr hWnd = FindWindowEx(IntPtr.Zero, IntPtr.Zero, "Maxthon2_Frame", null);//get the parent hwnd
            IntPtr hwnd2 = FindWindowEx(hWnd, IntPtr.Zero, "XTPToolBar", "标准工具栏");            //get the sub window
            Guid guid = new Guid("{618736E0-3C3D-11CF-810C-00AA00389B71}");
            AccessibleObjectFromWindow(hwnd2, 0x00000000, ref guid, ref obj);//get the aa object
            IAccessible accessible = obj as IAccessible;
            accessible = accessible.accParent as IAccessible;//get the parent aa object
            Object[] childs = new Object[accessible.accChildCount];  //set a array to receive the sub aa object list
            int obtained = 0;
            AccessibleChildren(accessible, 0, accessible.accChildCount - 1, childs, out obtained);//get  the sub aa objects
            Console.WriteLine(obtained.ToString());//print count to verify the result
//print relative information ,not very importent .
            for (int i = 0; i < obtained; i++)
            {
                IAccessible child = childs as IAccessible;
                try { Console.WriteLine(child.get_accName(0)); }
                catch { }
                Object[] accchilds = new Object[child.accChildCount];
                int result = 0;
                AccessibleChildren(child, 0, child.accChildCount - 1, accchilds, out result);
                for (int j = 0; j < result; j++)
                {
                    IAccessible jchild = accchilds[j] as IAccessible;
                    Console.WriteLine(jchild.get_accName(0));
                }
            }
            Console.ReadLine();
        }
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-7-30 19:23:16 | 只看该作者
最近我也在研究msaa。这个小工具挺好的。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-12-14 16:11:59 | 只看该作者
正好需要,可以参考下
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-9-4 14:04:05 | 只看该作者
谢谢共享~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-25 12:45:21 | 只看该作者
我正好要做个UI自动测试的东西,lz请加我QQ:53693710

谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-6-3 21:38:19 | 只看该作者
sdlkfj2
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-5-18 20:00:53 | 只看该作者

回复 #1 mike_seaver 的帖子

不错啊?有机会交流一下哈....
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-2-28 11:32:35 | 只看该作者
不错!鼓励一下!!
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2006-10-27 11:09:30 | 只看该作者

自己顶一下!

本软件非黑客软件,其目的是测试使用,所以对于密码框,此工具只对标准的Edit控件有效,而对一些具有防范措施的控件无效,例如:重载了WM_GETTEXT消息的密码框,QQ就是一个例子。
谢谢大家支持啊!!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 17:37 , Processed in 0.077234 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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