FreeBasic
Главная
Вход
Регистрация
Четверг, 28.03.2024, 13:36Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » WinAPI » WinApi в freebasic » Текстовый снимок экрана (Не графический скриншот)
Текстовый снимок экрана
electrikДата: Понедельник, 18.01.2016, 16:22 | Сообщение # 1
Полковник
Группа: Друзья
Сообщений: 180
Репутация: 3
Статус: Offline
есть задачка, считать текст с экрана не в виде картинки, а в виде текста. естественно, если текст нарисован, то такое можно реализовать только при помощи ocr. в моем случае, надо считать текст в обычных окнах windows. я вижу один способ, получать Foreground окна, потом перечислением выдергивать текст и координаты контролов, а потом восстанавливать нахождение текста из координат. может есть другие способы?
данный способ, требует много чего предусматривать, например, GetWindowText не считает весь комбосписок, или ListView.
по сути, я пользуюсь скринридерами, и там можно читать экран, так как он виден, но для некоторых целей,
повышения доступности приложений, хотелось бы иметь свой инструмент.
 
haavДата: Понедельник, 18.01.2016, 18:42 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Ну ты же знаешь, что подавляющее большинство приложений сейчас создается не средствами winapi. Практически во всех библиотеках доминирует собственная прорисовка, пусть даже на основе GDI+ , хотя чаще с помощью графических библиотек , имеющих более мощные средства чем GDI. Отсюда , нереально получить текст с помощью стандартных функций getwindowtext, sendmessage. Возьми тот же GTK , создается обычное окно, на нем static , и далее на static все прорисовывается "вручную". Если же делать инструмент исключительно под программы, созданные с помощью winapi , то в принципе реально, просто под каждый класс контролов надо использовать свои сообщения для чтения текста.

P.S. Подобную программу пытался сделать автор клептомании. Версия для windows XP была халявной и на winXP она работала для winAPi приложений, а так же различных системных диалогов, но в windows vista и выше ставить ее было бесполезно. Хотя позднее автор внес усовершенствования , теперь она работает на старших системах, но программа стала платной. Тоже использует OCR.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » WinAPI » WinApi в freebasic » Текстовый снимок экрана (Не графический скриншот)
  • Страница 1 из 1
  • 1
Поиск: