从无窗口控件获取文本
Get text from a windowsless control
我想知道如何读取没有HWND的控件的文本。例如,office 2007中的打印对话框并没有在它的所有控件上(只有少数)设置HWND。
是否有办法从这些控件中获取文本?我相信他们只是简单地画在窗口上,并使用HITTEST反应,但我不确定,所以我问你们:-)。
谢谢你的帮助!
一般来说,没有保证的方法可以做到这一点。但是,您可以使用IAccessible接口获取文本(以及有关控件的其他信息)。大多数Microsoft产品在大多数UI元素上实现了这个接口:这就是残疾人屏幕阅读器的工作方式
对于一般的无窗口控件,您只能假设文本在屏幕上仅以像素形式存在,因此读取它的唯一方法是使用OCR。
如果你可以了解更多关于你想要检查的特定控件的信息,那么你可能会了解到无窗口控件有一个代表它处理消息的父窗口,或者控件有一个你可以操作的COM对象,或者控件遵循Windows可访问性API。如果你对这个控件一无所知,那么你就只有像素了。
相关文章:
- 如何从QToolBox中动态创建的QLineEdit中获取文本
- C++文本文件的获取线
- 如何在QGridLayout中获取QComboBox的当前文本?
- 从两个 4x64 位整数数组中获取取模
- 如果给定了文本样式,如何获取特定文本的 QSize 对象
- 如何从第三方程序中通过鼠标悬停获取按钮文本
- 仅从qtextedit小部件中获取可见文本
- 从 XMLHttpRequest-Object 获取响应文本
- 从二进制文件中抓取文本时,为什么 xdg_vtnr=8 是我的结果
- 如何使用预处理器从源文件中获取一行文本
- 如何使用字符串操作来获取输入文本文件的某些部分
- 在MFC CListCtrl中获取项文本的索引
- 如何从CMFCEditBrowseCtrl获取路径文本
- 如何从网页中获取所有文本
- 从Windows应用程序的文本框中抓取文本
- 使用c++从活动窗口获取选定文本
- 在Cimg库中获取渲染文本的尺寸
- 将成员方法声明列表获取到文本编辑器中
- 点击QGraphicsItem获取带有文本的QRectF
- 使用libzip从.zip获取文件(文本除外)