Можно ли извлечь текст с экрана с помощью функции ExtTextOut? - PullRequest
0 голосов
/ 12 января 2012

Я бы хотел экстрагировать текст из того, что находится на моем экране, используя функцию 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 голосов
/ 06 декабря 2012

Функция 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 в своей программе.

...