读书人

IAccessible:get_accChildCount的有关

发布时间: 2012-08-15 16:57:16 作者: rapoo

IAccessible:get_accChildCount的问题。
用AccessibleObjectFromWindowh(Wnd, OBJID_CLIENT , IID_IAccessible,(void**)&paccMainWindow)得到窗口的 IAccessible 接口指针了,这时调用get_accChildCount(&num)取得父亲拥有的可访问的children 却总是返回0不能遍历children 。但是把inspect32打开后,再运行程序返回值就正确了,children 也能访问了。请问这是什么原因?怎么在不运行inspect32的情况下得到children的数目和对children 进行遍历呢?

[解决办法]
帮顶,不熟悉inspect32
[解决办法]
IA * 已经有了你可以用HRESULT get_accChild(
VARIANT varChildID,
IDispatch** ppdispChild
);
这个函数进行递归遍历啊
[解决办法]
试试这个吧,
AccessibleObjectFromWindowh(Wnd, OBJID_NATIVEOM, IID_IAccessible,(void**)&paccMainWindow)
记得inspect32使用的应该是OBJID_NATIVEOM。
[解决办法]
你参考下这篇文章看看有没有帮助

a non-MFC class to retrieve accessibility (MSAA) info

读书人网 >VC/MFC

热点推荐