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

Is it possible to extract text from screen using the function ExtTextOut?

本文关键字:屏幕 提取 取文本 ExtTextOut 可以使 函数 是否      更新时间:2023-10-16

我想使用函数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();
}
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]指定如何使用应用程序定义的矩形。此参数可以是以下一个或多个值。

有关更多详细信息,请访问MSDN论坛.

exttextout(20,100);

这是一个错误,你不能像那样从屏幕上阅读文本。你必须使用一些图像处理软件才能做到这一点。我认为这将是一个更好的选择,如果你可以俱乐部MATLAB与你的程序。