UI自动化分析Windows程序控件结构,主流工具合集
发布于 作者:苏南大叔 来源:程序如此灵动~

初衷就是对windows
程序(比如:某鹅某信),进行合理合法的控制,模拟人工辅助自动化操作。进而需要对软件的界面结构进行解析,从而找到要操作的界面控件。这就是最主要的思路。这里需要借助几款自动化分析的辅助软件,对客户端界面进行分析。功能上就类似于浏览器的f12
工具。
苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码编程经验总结。测试环境:win10@22h2
,spyxx
,inspect
,uispy
,Accessibility Insights
。
主流工具对比
工具名称 | 来源 | 优势 | 适用场景 |
---|---|---|---|
Inspect / SpyXX | SDK | 官方支持 功能完整 实时分析 | 常规UI分析和自动化开发 |
UISpy | SDK | 界面友好 开源免费 导航方便 | 初学者入门使用 |
AccEvent | SDK | 事件监控 MSAA支持 | 复杂问题调试 |
Accessibility Insights | 现代化界面 视觉反馈好 测试生成 | 专业测试和无障碍性开发 | |
AutoIT Window Info | 轻量级 支持脚本生成 | 自动化脚本开发 |
这些程序,大部分来自windows sdk
。所以,对于安装过visual studio
(windows sdk
是其中的可选组件),或者主动安装windows sdk
的。可能已经获得这些工具了。参考文章:
- https://newsn.net/say/winget.html
- https://newsn.net/say/windows-sdk.html
- https://developer.microsoft.com/windows/downloads/windows-sdk/
inspect 【推荐】
windows sdk
自带,推荐使用。或者推荐独立安装版:
点开inspect
软件后,通过点击目标软件,获得对应的控件信息。
Spy++
这款软件比较特殊的地方是:可以通过拖动图标的方式,获取窗口信息。
下载地址:
UISpy
和inspect
差不多,但是没有inspect
好用。
AccEvent
包含在Windows SDK
中,不以界面分析为主要功能,以事件记录为主要功能。
Accessibility Insights【推荐】
Accessibility Insights
和inspect
类似,但是界面和效果上来说,比inspect
效果要好很多。
AutoIT
AutoIT
主要是做自动化脚本为目的。和spyxx
的使用方式,有些类似。对于找某信控件结果这件事情上来说,显然并不好用。
下载地址:
结语
对于程序界面分析这一目的来说,对于初学者来说,inspect.exe
是比较合适的。Accessibility Insights
界面功能上,效果比inspect
更好一些。如果需要对软件进行测bug
的话,AccEvent
也是比较合适的。


