我有一个应用程序 A,它有一个小文本框,由一个框架包围,指示系统是否准备好。文本和框架位于 DelphiTSemaphor
控件中。
- 在初始化期间,框架是黄色的。
- 初始化完成且系统准备就绪后,框变为绿色。
在另一个应用程序 B 中,我需要检测应用程序 A 何时已初始化并准备就绪。
如何在应用程序 A 中以尽可能少的努力并在以下约束下执行此操作(检测框架颜色的变化)
- 应用程序 A 无法更改(我没有它的源代码),
- 应用程序 A 没有自动化接口,
- 当应用程序 A 准备就绪时,唯一发生的变化是颜色变化
?
我知道有以下解决此问题的方法:
- 使用图像识别 (http://sikuli.org/)
- 找出相应位置的像素颜色。
- 使用注入的 DLL 来访问 TSemaphore 属性。