Java - zczytywanie tekstu w czasie realnym

0

Witam! Trafiłem na problem którego nie umiem rozwiązać - potrzebuję napisać program który zczytuje tekst wyświetlany przez inny program na monitorze ( nie bardzo wiem czy da się rozwiazać ten problem podając ścieżkę programu ponieważ tekst jest wyświetlany bardzo zmiennie w czasie realnym). Prosiłbym o jakieś podpowiedzi/tipy odnośnie mojego problemu gdzie szukać/czego szukać

2

Jeśli program który chcesz "szpiegować" jest programem GUI i używa natywnych systemowych kontrolek to jest szansa, że będziesz mógł do takiego tekstu się dobrać przez natywne API systemu (np. WinAPI w Windows), używając np. biblioteki JNA.

2

Możesz próbować kraść zawartość przez jakies WinAPI, ale może prościej będzie napisać debugger który będzie te dane bezpośrednio wyciągać z pamięci?

0

Java jest dalece nieoptymalnym języiem do tego zadania.
Zgaduję, pewnie pytasz, bo nie znasz innego.
WinAPI CIę nie minie, a z Javy przez JNA będzie to po trzykroć trudne

C lub C++

3

Niezależnie od powyższego, w ostateczności można próbować z OCR ekranu (o ile ta druga aplikacja ma GUI). Robienie print screen ekranu jest możliwe w Javie, a do OCR można wykorzystać Tesseract (aplikacja działająca w linii poleceń, gdzie na wejściu podajesz plik z obrazkiem, a na wyjściu dostajesz rozpoznany tekst). Twój program wygeneruje obraz i odbierze tekst.

Problemem w taki podejściu jest renderowanie subpikselowe zwane ClearType, które utrudnia OCR, ale w pewnym stopniu da się odtworzyć oryginał, mogę opisać, jak sobie z tym poradzić, jak będziesz zainteresowany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1