获取当前屏幕上指定文本的坐标

本文关键字:文本 坐标 屏幕 获取 | 更新日期: 2023-09-27 18:00:07

all
我想写一个GUI自动化工具,它可以定位当前屏幕上的文本标签(绝对位置),这样我就可以驱动鼠标光标点击它。
所需函数的签名应该是这样的:

Point GetTextCoordination(字符串文本)

有人知道如何实现这一点吗?我不想使用OCR或计算机视觉技术来解决性能问题。挂接TextOut win32api函数是否可行?

获取当前屏幕上指定文本的坐标

我不认为挂钩TextOut函数是一个可行的解决方案(尽管这肯定是可能的)。您不能保证您要查找的文本是使用此函数绘制的。尝试使用OCR也同样困难重重。

我怀疑,出于您的目的,枚举目标应用程序的窗口(使用GetWindow和相关函数)并检查每个窗口的文本(使用GetWindowText)以查找您想要的窗口就足够了。这将给你一个窗口句柄,从中你可以获得窗口边界或直接向它发送消息。

您想要使用GUI自动化工具包,例如UIAutomation库或白色库(它是UIAutomation的包装器)或AutoIT。

(或者,也有商业工具可以实现这一点-如果你正在考虑建立一个测试自动化程序,那么你最好使用其中一个商业工具,因为它们有很多功能可以让这类事情变得更容易。)