我需要从 Windows 操作系统中的另一个程序中使用“UIautomation”技术获取 UIelements。一些程序具有用于内容呈现的“类似chrome”的浏览器。方法是获取元素(如 c# AutomationElement.FromPoint / FindAll)返回具有类名“Chrome_RenderWidgetHostHWND”和名称如“Chrome 旧版窗口”的浏览器元素。但我需要该浏览器中的内容元素。
我发现,程序“Accessibility Insights”可以做到!
- 运行应用程序,例如“Microsoft Teams”
- 运行“辅助功能洞察”
- 在“Microsoft Teams”上移动鼠标,我们得到“Chrome Legacy Window”
- 在目标程序(“Microsoft Teams”)上的任何鼠标单击(左/右)后会引发重建 UI 树
- 然后 UIautomation 技术可以获取浏览器中所有的内部 UI 元素。
“Accessibility Insights”源代码是https://github.com/microsoft/accessibility-insights-windows 我非常仔细地研究了它,但没有找到提供重建(或初始化?)内部 UI 元素的代码。
任何人都可以帮助我吗?我应该做些什么来赢得我的任务 - 在 Windows 操作系统上的另一个程序中获取类似 chrome 的浏览器中的内部 UI 元素?
如果你读到最后,谢谢