首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >windows标题控件和MSAA

windows标题控件和MSAA
EN

Stack Overflow用户
提问于 2018-02-21 16:17:20
回答 1查看 105关注 0票数 1

我正在尝试通过IAccessible操作公共标题控件(单击列)。我有一段简单的代码,它适用于windows XP和win7,但对windows10没有任何作用。

代码语言:javascript
复制
CComPtr<IAccessible> iacc;
hr = AccessibleObjectFromWindow(hw, OBJID_CLIENT, IID_PPV_ARGS(&iacc));
CComVariant col(1); // try to click first column
#ifdef _DEBUG
LPDISPATCH pp = 0;
hr = iacc->get_accChild(col, &pp);
ATLASSERT(!pp); // no "real" child objects
CComBSTR bs;
hr = iacc->get_accDefaultAction(col, &bs); // returns CLICK
#endif
hr = iacc->accDoDefaultAction(col);
ATLASSERT(S_OK==hr);
// call succeeds but no HDN_ITEMCLICK sent!?

非常简单,给定标题窗口句柄,获取可访问性接口,然后尝试按数字单击列(子项)。accDoDefaultAction返回S_OK,但listview控件不接收HDN_ITEMCLICK

我认为移植到windows10的某个阶段在头控制MSAA代码中引入了一个bug。

EN

回答 1

Stack Overflow用户

发布于 2018-02-23 07:18:29

UI自动化中的Invoke control pattern似乎工作正常。不确定这是故意的还是MSAA/UIA网桥中的错误。如果您支持广泛的目标,那么您唯一的选择就是同时尝试这两种方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48900989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档