如何从窗口获取文本
问题描述:
这是用于查看我的BT878 TVTunner上的电视频道的应用程序窗口。如何从窗口获取文本
从中间数6是信道的数目。 我知道窗户的把手。 有没有什么办法(最好用Delphi编程语言)来得到这个数字......?
谢谢你的回复。
答
如果它使用了正常的Windows控件的界面,那么你可以枚举子窗口并找到包含该文本的窗口。
但是,这看起来像一个自定义的绘制窗口,所以我怀疑你只有机会做一个屏幕刮到位图和处理。
你可以使用间谍来检查应用程序,看看是否有子窗口。
答
如果该通道领域都有自己的HWND
,然后尝试发送一个WM_GETTEXT
消息(使用间谍++,Winspector,或其他类似的工具来查看窗口的HWND
S的父/子关系)。如果这不起作用,那么你可能不得不求助于捕获应用程序窗口的图像,提取用于频道编号的像素,然后解析它们以确定正在显示哪个数字。
@David谢谢。有儿童窗户:3 TPanel的。这个数字不在他们身上。我知道我可以拍摄一张快照并从中获取数字,但是这是一个非常慢的方法+很多编码=可能不值得... – 2011-01-14 20:14:29
@John如果没有小组的孩子,那么我认为你是只有选项将被屏幕抓取 – 2011-01-14 20:15:35