2010-11-15 42 views
1

我想为某些Windows应用程序开发审计应用程序。我想从MessageBoxes,Windows,Forms,Selections等获取文本,理想情况下我想用C++编程。在Windows中'场刮'

我看着到Windows UI自动化作为一个可能的解决方案,但我稍微放一放,因为它说,它将需要知道底层的数据结构,我不能得到的部分。或者,我环顾四周,Neo的SafeKeys表示它可以防止“场地刮擦”,但在搜索时我找不到任何有关如何完成的信息。有没有经验的人请赐教我?我知道你可以抓取网站之类的东西,但我希望取而代之。

任何帮助将不胜感激。

回答

1

使用可访问性层进行研究,MSAA

+0

看起来很有希望,它看起来像Stu所说的,但是作为一个API。非常感谢你! – Dororo 2010-11-15 18:33:19

0

一个简单的方法做到这一点,而不接近任何数据结构是使用Abbyy的OCR SDK http://www.abbyy.com/ocr_sdk/在应用程序中模拟他们惊人的屏幕截图阅读器。 http://www.abbyy.com/screenshot_reader/。有了这项技术,屏幕上没有任何东西可以作为文本捕捉,尽管它偶尔会弄乱一些奇怪的字符。

+0

我会研究一下,谢谢。理想情况下,我希望远离屏幕捕获软件,但是,如果没有其他合理的方法,我需要考虑解决方案。 – Dororo 2010-11-15 18:27:32

1

我相信他们是在谈论做了很多EnumChildWindows()和GetWindowText函数()。

+0

啊,我明白了,那'可能'可以访问应用程序中的每一个元素? – Dororo 2010-11-15 18:26:27

+0

如果他们使用实际的控件,而不是在主窗口上绘制虚假的控件。 – Stu 2010-11-15 18:29:05

+0

我明白了,这会派上用场。谢谢。 – Dororo 2010-11-15 18:34:14