我想获得一个窗口的所有UI元素的列表,在某种程度上我可以在另一台PC上重新创建它们?目前我专注于Windows,但非常感谢多平台的答案。谢谢! (我在下面的意思)
答案 0 :(得分:3)
有几种方法可以去。
选项1:如果窗口是传统的窗口,其中UI元素是子窗口(而不是无窗口控件),那么您可以使用GetWindow
或EnumChildWindows
来迭代UI元素给定窗口。然后,您必须检查这些窗口的属性,如窗口过程,窗口样式和窗口文本,以构建您建议的列表。您可以将此功能用于所有标准控件。问题在于它足以处理一切。许多应用程序具有您的代码无法识别的自定义控件类型,或者它可能以不明显的方式布局。您也无法处理使用无窗口控件的窗口。
选项2:您可以使用UI Automation遍历UI控件树。这就是屏幕阅读器等可访问性技术与应用程序交互的方式。