Имя: Пароль:
IT
Админ
Программка чтобы считывать текст из окна сторонней программы -где взять?
0 Double_Medved
 
09.02.17
16:04
Добрый день!
Задачка относительно простая, вчера на c# через GetWindowText() часть сделал, но может не надо изобретать велосипед....
Есть специализированное оборудование (датчики), которое выдает циферки на комп. Отображаются они в какой-то древней программе (Сделанная в начале 2000х). Программка читает какой-то протокол ModBass, документация к нему овер9000 страниц.
Проблема в том что программка показывает данные в режиме онлайн и все.
Мне нужно их сохранять хоть куда-нибудь, хоть в текстовый файл, а дальше я уже с ними разберусь.
Есть 2 пути как я понял:
1)Разобраться с документацией овер9000 страниц и написать на 1с обмен с низкоуровневым протоколом.
2)Некой программой (посоветовать которую я Вас прошу, может знаете), считывать данные из окна программы по его hWnd и записывать куда-нибудь в файл.

Собственно вопрос - может подобная программа для считывания данных их окна сторонней программы уже есть? Если Вы знаете, то подскажите ее название.
1 aka AMIGO
 
09.02.17
16:18
Prt Scr
Ножницы
GreenShot
- этим всем можно получить изображение
FineReader - если надо получить в конце концов текст.
Спец утилит - не знаю, может кто и знает..
2 aka AMIGO
 
09.02.17
16:24
а "где взять": первые две - в ОС
вторая - в инете, бусплатно
FR - купить.
3 aka AMIGO
 
09.02.17
16:24
* вторая = третья
4 lubitelxml
 
09.02.17
16:26
в начале 2000х писал такой велосипед, готовых тогда не было, сейчас не подскажу. Писал как у тебя сделано в (0)
5 Zamestas
 
09.02.17
16:29
(0) Не проще напрямую из кишок программы вычитать?
6 lubitelxml
 
09.02.17
16:31
Еще где-то была у меня поделка - считывала карты с рабочего стола (при игре в pokerstars), могу поискать если нужно
7 Double_Medved
 
09.02.17
16:38
(6)О, а на чем сделано? Там исходники есть?
8 Double_Medved
 
09.02.17
16:40
(5)Программа весьма дремучая и весьма специализированная, и когда ее создавали я ходил в 5 класс наверно. И там уже екзешник, как его расковырять-то? Я даже не знаю на чем ее писали.
9 Dmitry1c
 
09.02.17
16:41
(0) что может быть проще того, что ты сделал с помощью C# и GetWindowText()?
10 Deon
 
09.02.17
16:42
(5) не думаю, что получится найти что-то универсальное, отдающее нужные тебе данные автоматически с нужным тебе интервалом. Проще сделать самому
11 lock19
 
09.02.17
16:43
12 Deon
 
09.02.17
16:43
(10) к (0)
13 Double_Medved
 
09.02.17
16:45
(9)Да мне кажется я тужусь сделать велосипед. И еще волнует предмет лицензионности. Вот я создал свой экзешник и использую его в производстве - не нарушение ли это лицензионных прав и т.д.?
14 lubitelxml
 
09.02.17
16:45
(7) поискал, не нашел исходники ((
15 welwel
 
09.02.17
16:46
(0) что-то похожее делал на AutoIt, считывал инфу из заголовка окна с сообщением
16 Double_Medved
 
09.02.17
16:46
(10) Я думал есть же всякие автокликеры например - может они и считывать данные могут
17 Deon
 
09.02.17
16:47
(13) Думаю, всем на эти права пофиг
18 TormozIT
 
гуру
09.02.17
17:10
Любимый оптический распознаватель - ABBYY Screnshot READEr.
Неоптические уже уходят в историю, т.к. многие GUI движки уже не поддаются захвату текста в оригинальном виде. Раньше неоптическими пользователся (Text Catch)
19 Кирпич
 
09.02.17
17:16
(0) GetWindowText() работает или нет? если работает, то в чем вопрос?
если оно через RS-232 подключено, то снифером посмотри чего они там гоняют через порт. вот тебе и протокол.
20 Double_Medved
 
09.02.17
17:26
(19)А есть какой-нибудь пример снифера? Проблема в том что моя поделка не распознает сама hWnd поля с текстом. Для этого я ищу сначала hWnd с помощью GetWindowText.exe
21 Кирпич
 
09.02.17
17:28
(20) эта древняя прога через COM порт работает?
22 Кирпич
 
09.02.17
17:30
или через TCP?
23 Double_Medved
 
09.02.17
17:31
(21)Через виртуальный COM порт, да
24 Кирпич
 
09.02.17
17:38
(23) чо за виртуальный COM порт?
короче какой нибудь Port Monitor поробуй запустить. посмотри какие данные там ходят. может поймешь чего. а если есть доки к этой железяке то вообще хорошо.
ну еще есть вариант нанять программиста, но это уже после FineReader :)
25 Double_Medved
 
09.02.17
17:52
(24)Ну виртуальный COM-порт это то что адаптер к датчику врубается в USB разъем, и в компе он определяется как например COM4. ну так же как когда кассу атола например подрубаешь через USB
26 Кирпич
 
09.02.17
18:09
(25) ну так действуй. А прогу можно поглядеть?  Или что за железяка ухнать?
27 Double_Medved
 
09.02.17
18:29
(26)Датчик взлет-тэр

Причем прог к нему несколько, и некоторые имеют нормальный красивый интерфейс, но не умеют архивировать данные, мать его. Одна умеет - но ей к ней нужно микрософт офис покупать, не одобрят
28 youalex
 
09.02.17
18:38
InqSoft Window Scanner
29 Кирпич
 
10.02.17
10:38
На сайте этого взлета навалом документации. Там описано несколько способов получать данные из системы. Считывать чего то из окон и изучать протоколы вовсе не обязательно.