是否可以使用ExtTextOut函数从屏幕中提取文本?

时间:2012-01-12 02:40:11

标签: c++ winapi extract

我希望能够使用ExtTextOut函数从屏幕上的文本中提取文本,但我是C ++的新手。我正在使用Qt,我希望有一个简单的例子,当我需要提取文本时,我可以在我的代码中重现。例如,如果我想提取此文本并将其存储在文档中,我该怎么办?

我在下面写了一些简短的代码,但我不知道该怎么走?

#include <QApplication>
#include <windows.h>
#include <QCursor>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QCursor::setPos(20,100);
exttextout(20,100);
return app.exec();
}

1 个答案:

答案 0 :(得分:-1)

ExtTextOut()函数使用当前选定的字体,背景颜色和文本颜色绘制文本。您可以选择提供用于裁剪,不透明或两者的尺寸。

BOOL ExtTextOut(
  _In_  HDC hdc,
  _In_  int X,
  _In_  int Y,
  _In_  UINT fuOptions,
  _In_  const RECT *lprc,
  _In_  LPCTSTR lpString,
  _In_  UINT cbCount,
  _In_  const INT *lpDx
);

hdc [in] 设备上下文的句柄。

X [in] 用于定位字符串的参考点的逻辑坐标中的x坐标。

Y [in] 逻辑坐标中用于定位字符串的参考点的y坐标。

fuOptions [in] 指定如何使用应用程序定义的矩形。此参数可以是以下一个或多个值。

For more details visit the MSDN forum

exttextout(20,100);

是一个大错,你无法像这样从屏幕上阅读文字。你必须使用一些图像处理软件才能做到这一点。我认为如果你可以在你的程序中使用MATLAB,那将是一个更好的选择。