【发布时间】:2012-08-14 02:23:04
【问题描述】:
我正在为 Metro 应用程序开发 UI 自动化客户端 (c++)。我可以在 Metro UI 上获取元素。我正在使用 Raw Tree Walker
-
获取自动化树
automation->get_RawViewWalker(&pTreeWalker); 然后我正在迭代并获取 Metro 应用程序上的元素
-
检索 UI 元素的属性
我在列表项旁边有图像和文本项。单击该启动网页。
list item, image and Text item没有Invoke Capability。所以我想获取Clickable Point,这样我就可以点击了。我也在用Inspect.exe查看UI element.in
inspect.exe 确实显示列表项、图像和文本项的可点击点。但是当我
尝试使用 GetClickablePoint() 获取它时遇到问题,我得到了 gotClickable = 0 并且 POINT 字段保持为 0.hr = S=OK
POINT clickable; BOOL gotClickable; hr = p1->GetClickablePoint(&clickable,&gotClickable);
我想在mouse_event调用中使用可点击点
VOID WINAPI mouse_event(__in DWORD dwFlags, __in DWORD dx, __in DWORD dy, __in DWORD dwData,
__in ULONG_PTR dwExtraInfo );
【问题讨论】:
-
出于好奇,您的 UI 自动化客户端在做什么?我最近正在研究如何在 Metro GUI 中自动化一些向导。
-
它将模拟使用动作,如单击图像、捕获/录制视频和图片等。在我的情况下,图像在列表项中。任何建议@FrerichRaabe
标签: c++ visual-c++ automation microsoft-ui-automation