从外部应用程序的屏幕获取数据

时间:2010-01-19 14:54:27

标签: java c++ c

是否可以从应用程序中获取数据(如文本或数字)?例如,当一个人运行一个应用程序时,屏幕会显示一些文本,图像和数字,是否可以编写一个自动程序来读取该数据(为了将其保存到外部文件中)?

3 个答案:

答案 0 :(得分:2)

您正在引用data scraping,问题的答案是:是的,您可以这样做...... 有时候。它取决于您的目标应用程序产生的输出类型,有时它输出到的位置。例如,如果它的纯文本或HTML相对容易,如果它的位映射它更复杂。

因此没有通用解决方案 - 所有解决方案,这取决于您的设置。

答案 1 :(得分:0)

你可以截取屏幕截图。我想你做的就是安全问题。以前可以读取旧版Windows上其他应用程序中密码字段的实际文本。

答案 2 :(得分:0)

如果它是Windows,有很多方法可以做到这一点,我已经使用了很多。 (没有在其他平台上尝试过。)

目前最可靠的方法是使用辅助功能挂钩(请参阅http://msdn.microsoft.com/en-us/library/ms971310.aspx)。您的程序本质上是一个“屏幕阅读器”,而不是将文本发送到语音合成器,而是将其保存到文件中。

我说这是“最安全的”,因为许多其他方法都被恶意软件使用,因此可以在用户的​​计算机上引发警报。

请注意,有些情况比其他情况更难。例如,Web浏览器中的Java小程序很难。

如果我知道你要抓的应用程序的性质,我可以详细说明。