我有一个应用程序需要自省正在运行的第三方 .NET 应用程序——我没有它的来源。我需要能够阅读屏幕上的表单、控件及其在屏幕上的相对位置。
有哪些库或技术(Microsoft 或其他)可用?
我需要的:
- 从我将编写的应用程序中以编程方式执行此操作(即我对 Visual Studio 插件不感兴趣)
- 支持所有(或尽可能多的)CLR 应用程序
- 能够找到所有打开的屏幕/表格
- 对于给定的屏幕/表单,发现所有控件
对于控件,请读取以下属性:
- 它是屏幕上的值(即输入字段中的文本),
- 字体大小、颜色和样式,
- 表格上的位置
- 任何标签
- 控件的父面板/组
检测屏幕焦点在哪里
我不需要的东西(但除了作为额外价值之外):
- 发现其他对象或恢复运行时对象图
- 反编译或以其他方式获取第三方源
- 发现应用程序的类层次结构
- 深入了解应用程序运行时状态的其他方面
- 内省本机 C++ 应用程序
- 从另一台计算机/VM 内省应用程序。