b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

accessibleobjectfromwindow 基于IAccessible接口的QQ窗口信息获取的实现(2)

电脑杂谈  发布时间:2017-05-26 03:08:03  来源:网络整理

IAccessible的实现是由开发者提供, 开发者可以灵活地根据实际情况决定方法的实现。比如前面提到了折线图控件可以返回坐标数列。对于.NET WinForm, 微软在Framework中就提供了IAccessible的默认实现,这样在具体实现中,就可以处理.NET动态维护HWND的细节。

可见这个接口主要是用于软件测试和实现特殊的UI需求所用的 , 了解到这个技术之后我就想QQ会不会也使用了这个技术实现软件的测试呢 ?

结果是肯定的 , QQ的GUI也使用了这个接口 , 所以我们可以通过这个接口获取QQ窗口内部的信息 , 而且信息很全面 , 好在.NET中已经封装好了这一接口使得这一编程过程变得比较容易 , IAccessible接口在Accessibility命名空间下

实现窗口信息的获取需要配合oleacc.dll中提供的API来进行操作 , 下面是使用到的主要的API函数名

1 public static extern int AccessibleChildren( 2IAccessible paccContainer, 3int iChildStart, 4int cChildren, 5[Out()] [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 4)] object[] rgvarChildren, 6ref int pcObtained); 7 8 internal static extern int AccessibleObjectFromWindow( 9IntPtr hwnd,10uint id,11ref Guid iid,12[In, Out, MarshalAs(UnmanagedType.IUnknown)] ref object ppvObject);13 14 public static extern uint WindowFromAccessibleObject(IAccessible pacc, ref IntPtr phwnd);

希望大家可以通过这篇文章了解到更多的关于IAccessible接口的知识

最后附一张DEMO图:


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-49282-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...